|
@@ -18,49 +18,49 @@
|
|
|
http://wangzhaoli.blog.51cto.com/7607113/1287545
|
|
|
官方解释了Handler是绑定到创建他的线程的
|
|
|
http://developer.android.com/reference/android/os/Handler.html
|
|
|
- AsyncTask与Thread的区别
|
|
|
- http://blog.csdn.net/nei504293736/article/details/9502435
|
|
|
-
|
|
|
- 我提议的后台线程与UI线程的交互方式如下
|
|
|
- // UI事件处理线程开始
|
|
|
- final String parms = ...;
|
|
|
- new Thread(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- // 使用参考做耗时操作
|
|
|
- final Response rsp = doExcute(parms);
|
|
|
- handler.post(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- // 用rsp更新UI
|
|
|
-
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }).Start();
|
|
|
+ AsyncTask与Thread的区别
|
|
|
+ http://blog.csdn.net/nei504293736/article/details/9502435
|
|
|
+
|
|
|
+ 我提议的后台线程与UI线程的交互方式如下
|
|
|
+ // UI事件处理线程开始
|
|
|
+ final String parms = ...;
|
|
|
+ new Thread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ // 使用参考做耗时操作
|
|
|
+ final Response rsp = doExcute(parms);
|
|
|
+ handler.post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ // 用rsp更新UI
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }).Start();
|
|
|
|
|
|
6.第三方库
|
|
|
自动升级(友盟)
|
|
|
消息推送(百度)
|
|
|
-
|
|
|
+
|
|
|
7.日志系统,如何使用Debug.Write或Debug.Assert
|
|
|
- 参考:http://stackoverflow.com/questions/5043681/better-way-to-do-debug-only-assert-code
|
|
|
- 模拟器开启debug.assert:http://stackoverflow.com/questions/8164145/are-asserts-available-on-android
|
|
|
-
|
|
|
+ 参考:http://stackoverflow.com/questions/5043681/better-way-to-do-debug-only-assert-code
|
|
|
+ 模拟器开启debug.assert:http://stackoverflow.com/questions/8164145/are-asserts-available-on-android
|
|
|
+
|
|
|
8.Mac环境,AS(Android Studio)Run的时间提示.apk不存在
|
|
|
- 发现Run页提示的文件名与实际生成是文件名不一样
|
|
|
-
|
|
|
+ 发现Run页提示的文件名与实际生成是文件名不一样
|
|
|
+
|
|
|
9.Android Studio使用第方库的几种途径
|
|
|
- 9.1.直接Java代码引用
|
|
|
- 9.2.Gradle库引用
|
|
|
- 9.3.JAR文件引用
|
|
|
- 9.4.JNI方式引用(复杂)
|
|
|
- 9.5.其它引用方式
|
|
|
-
|
|
|
+ 9.1.直接Java代码引用
|
|
|
+ 9.2.Gradle库引用
|
|
|
+ 9.3.JAR文件引用
|
|
|
+ 9.4.JNI方式引用(复杂)
|
|
|
+ 9.5.其它引用方式
|
|
|
+
|
|
|
10.RecyclerView清空图片,没有刷新的问题分析
|
|
|
- 首先要了解RecyclerView的运行机制,RecyclerView需要接受RecyclerView.Adapter,且实现onCreateViewHolder、onBindViewHolder、getItemCount
|
|
|
- 这里当数据源变更需要通知RecyclerView,调用onBindViewHolder重新刷新界面,所以这里清图片,需要通知界面删除了多少图片notifyItemRangeRemoved(position,count)
|
|
|
-
|
|
|
+ 首先要了解RecyclerView的运行机制,RecyclerView需要接受RecyclerView.Adapter,且实现onCreateViewHolder、onBindViewHolder、getItemCount
|
|
|
+ 这里当数据源变更需要通知RecyclerView,调用onBindViewHolder重新刷新界面,所以这里清图片,需要通知界面删除了多少图片notifyItemRangeRemoved(position,count)
|
|
|
+
|
|
|
开发环境
|
|
|
如果提示Gradle版本问题,可以在修改wapper.property文件到对应的版本号
|
|
|
|