//----------------------------------------------------------2018/8/24-----------------------------------------------------------------------------
用安卓模拟器连接电脑上的MQTT服务器, 想当然的使用了localhost(127.0.0.1)来访问, 百度之后才知道原因.
原因: 在安卓模拟器上的localhost(127.0.0.1)代表的是模拟器本身, 而非PC机
解决: 用10.0.2.2来访问PC, 在模拟器中10.0.2.2映射的是PC的IP地址
//参考源: https://www.cnblogs.com/tekkaman/p/6360614.html
//----------------------------------------------------------2018/8/25-----------------------------------------------------------------------------
在进行页面跳转时我需要新建一个类, AS报错
错误:
Unable to parse template "Class"
Error message: This template did not produce a Java class or an interface
原因: 无法解析模板“类”. 此模板没有产生一个java类或接口.
是因为AS中缺少java的类模板
解决:
方法一: 打开file->setting->Edit->file and code templates , 在Class一栏右边加入以下代码
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${NAME} {
}
方法二:
方法三: 请参考原文
//参考源: https://blog.csdn.net/chl191623691/article/details/80027067
//----------------------------------------------------------2018/8/25-----------------------------------------------------------------------------
错误: Rendering Problems The following classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar (Fix Build Path, Create Class)
原因: 不明白
解决方法: 打开: res/values/styles.xml
替换部分:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
替换后:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
//----------------------------------------------------------2018/8/25-----------------------------------------------------------------------------
问题: TextView标签显示的文字太多, 多的部分不再显示
需求: 1. 可以滚动显示 2. 聚焦在最新的文字
实现: TextView布局文件: android:scrollbars="vertical"
java文件: textView.setMovementMethod(ScrollingMovementMethod.getInstance());
这样操作解决了文本可以滚动查看, 但是每一次添加了新的文本之后任然首行, 并未聚焦至最新的文本
换个思路: 把TextView放在可以自动滚动至最新的文本的容器中(嵌套布局)
实现:
<ScrollView>
...
>
<TextView
...
/>
</Scrollview>
//----------------------------------------------------------2018/8/26-----------------------------------------------------------------------------
问题: 有时候在使用AS是会莫名其妙的出现一些问题, 最典型的就是R.id....这里的R变红报错
原因: 猜测是AS自身问题
解决办法: Build--->clean project Tool--->Android--->sync project with Gradle Files 这样一般就可以解决了
//----------------------------------------------------------2018/8/26-----------------------------------------------------------------------------
问题: 安卓icon图表更换时发生错误.
原因: 在网上下载的icon格式直接改后缀名为png, 用Windows中自带的看图可以打开, 但是在AS中就出错了
解决: 不要改后缀, 图标用AS查看一下看看有没有问题
//----------------------------------------------------------2018/8/29-----------------------------------------------------------------------------
需求: 组件太多超出屏幕无法显示怎么办
思路: ScrollView容器
解决:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
//把显示的组件放在这, 就可以滚动条一样显示
</LinearLayout>
</ScrollView>
//----------------------------------------------------------2018/9/5-----------------------------------------------------------------------------
问题: 按行读取txt文本, 再显示至TextView组件上时, 并不换行显示
原因: 在按行读取时, 在把每行字符串拼接在一起就会成为一个新的字符串, 每行行尾的回车并未记录在字符串里面.
同时重要的一点是, 回车表示 \r\n 而不是 \n
解决: 用\r\n来表示回车 (只在txt文本操作时)
//----------------------------------------------------------2018/9/5-----------------------------------------------------------------------------
问题: e.g. txt文件中的内容:
/**********************Log Below**********************/
* 时间: 2018-09-05 14:27:55
* 标题: 连接主机
* 信息: 主机连接成功
但是读取时显示
/**********************Log Below**********************/
* 标题: 连接主机
null
原因: 没弄明白, 猜测和readBuffer读取下一行有关
解决: 在写入信息时加两个\r\n, 即 \r\n\r\n
//----------------------------------------------------------2018/9/6-----------------------------------------------------------------------------
问题: 把java的eclipse工程移植到Android工程里, 编译出现错误
Error:duplicate files during packaging of APK E:\AndroidStudioProjects\huawei\NADemo\app\build\outputs\apk\app-debug-unaligned.apk
Path in archive: META-INF/DEPENDENCIES
Origin 1: E:\AndroidStudioProjects\huawei\NADemo\app\libs\httpmime-4.5.2.jar
Origin 2: E:\AndroidStudioProjects\huawei\NADemo\app\libs\httpcore-4.4.4.jar
You can ignore those files in your build.gradle:
android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
}
}
原因: 一些版本较旧的包不再支持
解决:
//兼容一些版本较旧的包
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
//----------------------------------------------------------2018/9/6-----------------------------------------------------------------------------
问题: 开发百度地图时获取 SHA1值时, 无法获取 keytool 不是内部命令或外部命令
原因: 不详
解决: