遇到的问题

<2015.6.20>

1.碰到了人生第一个闪退闪退问题:原来是button绑定监听器之后,监听的内容ProgressBar忘记findviewbyid出来了~~

06-20 14:30:01.879: E/AndroidRuntime(11040): FATAL EXCEPTION: main
06-20 14:30:01.879: E/AndroidRuntime(11040): java.lang.NullPointerException
06-20 14:30:01.879: E/AndroidRuntime(11040):     at com.you.edittext.MainActivity$2.onClick(MainActivity.java:44)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at android.view.View.performClick(View.java:4171)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at android.view.View$PerformClick.run(View.java:17097)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at android.os.Handler.handleCallback(Handler.java:615)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at android.os.Handler.dispatchMessage(Handler.java:92)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at android.os.Looper.loop(Looper.java:137)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at android.app.ActivityThread.main(ActivityThread.java:4914)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at java.lang.reflect.Method.invokeNative(Native Method)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at java.lang.reflect.Method.invoke(Method.java:511)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575)
06-20 14:30:01.879: E/AndroidRuntime(11040):     at dalvik.system.NativeStart.main(Native Method)

 

 

<2015.6-22>

1. listview中添加了checkbox后,失去了焦点,使得item无法被点击

我的解决方法:  在checkbox空间中添加:android:focusable=“false”

2. listview滚动之后控件信息(比如checkbox的勾选状态)没有被记录:

原因:item被勾选之后,需要在储存的信息中更新checkbox的状态。

3. getApplication.this,MainActivity.this,getContext()的区别:

参考链接:http://blog.csdn.net/guolindonggld/article/details/24243059

1.getApplication():虽然它返回的是Application对象,但Application类继承自Context,所以它可以用来提供Application Context;
2.getApplicationContext():返回Application Context;
3.getBaseContext():返回Activity Context;
4.MainActivity.this:表示MainActivity对象,一般用在内部类中指示外面的this,如果在内部类直接用this,指示的是内部类本身。
因为MainActivity继承Activity,而Activity继承Context,所以它也可以用来提供Activity Contex;
5.this:表示当前对象;当它表示MainActivity时,也可以用来提供Activity Context,原因同上。 6.getContext():这个是View类中提供的方法,在继承了View的类中才可以调用,返回的是当前View运行在哪个Activity Context中。前面的3个方法可以在Activity中调用。

 

 

<2015.6.23>

1.碰上一个坑爹的问题:

写完程序之后,连接真机,准备运行,提示“You must restart adb and Eclipse.Please ensure that adb is correctly located at 'E:\setups\android\android-2.1_r01-windows\tools\adb.exe' and can be executed. ”

问题:原来是金山助手占用了adb.exe的端口5037,

(1).切换到sdk目录下的platform-tools/,执行adb nodaemon server,默认是5037

(2).找出进程号:netstat -ano | findstr "5037"

(3).打开任务管理器的查看→选择列→勾选PID,5037的进程 sjk_demon.exe无法删除~(万恶的金山~~)

(4).最后只能打开金山毒霸,点击设置,禁用金山手机助手

 

 

<2015.6.24>

1.问题描述:linearlayout的android:layout_gravity不起作用~~

当android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当android:orientation
="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

 2.问题描述:昨晚照着书敲代码,运行之后编译无错误,运行后闪退~~半天没整明白,刚刚终于终于跑起来了

错误的logcat:binary Xml file line #10 error inflating class listview

    原来是xml中我把ListView写成了Listview~!!!!!纳尼!!!还是吃了不会XML的亏,我以为在标签中Eclipse会自动根据标签来生成可以使用的属性,
但是测试发现,<标签/>标签是乱写的也可以用快捷键列出各种属性~~~~~!
在stackflow上找到了问题的原因,如下链接
http://stackoverflow.com/questions/13473352/binary-xml-file-line-3-error-inflating-class-listview

 3. setContentView(R.layout.firstactivity)应该是用包的R文件,而不是android的R文件~~

 

 

<2015.6.25>

1.问题描述:真机调试小米2s无法列出可以响应隐式Intent的Activity,直接使用系统默认的活动打开

(1)使用模拟机是可以的选择启动活动的程序
(2)真机的话要设置默认启动的程序(估计root应该可以解决这个问题)

<2015.7.1>

1.帮弟弟填报志愿花了整整一周的时间,真是不容易~接下来要加快进度了

2. 在stackflow上面提了第一个问题并解决了~歪果仁实在是认真仔细,我代码上传格式有问题都会帮着公共编辑!

    问题是我的JAVA基础还要补补:内部类,多线程那一部分实在是太弱

 

3. eclipse太坑了,尝试对网络状态广播接收器进行静态注册,谁知道使用在定义receiver能接受的action时,使用快捷键自动补全找不到android.net.conn.CONNECTIVITY_CHANGE的状况:

(1) 一开始以为android.net.conn.CONNECTIVITY_CHANGE这个状态是不能监控的,后面才发现自己输进去是可以工作的

(2) 发现静态注册的网络状态接收器响应要慢好多(2s)

(3)查资料的时候也了解到有一些广播是不可以静态注册的: ACTION_BATTERY_CHANGED   ACTION_CONFIGURATION_CHANGED  ACTION_TIME_TICK

       http://bbs.chinaunix.net/thread-3641596-1-1.html

 

<2015.7.2>

1.我用小米2S进行文件的写入~发现在File Explorer并没有发现有这个文件,使用虚拟机却可以打开储存在文件

手机需要root权限才可以找到保存的文件~使用openfileoutput是将文件储存在内部空间中的

 <2015.7.8>

1.小米2s无法接受短信广播:  我自己写了一个短信接受应用,向联通发了一条短信后,只有系统才能收到这条短信,我把广播接收器的等级调到IntentFilter.SYSTEM_HIGH_PRORITY都还是没有作用~~!而在原生虚拟机里面是可以正常收到广播的,所以应该是小米2s做了一些修改,(1)把系统自带的广播接收器优先级调到最高,拦截掉这个广播~(2)系统发出的广播并不是android.provider.Telephony.SMS_RECEIVED,

考虑到可能自定义一个短信接收器比较少用,所以还是觉得不需要这样纠结,以后用到在研究~

 

2.想打印一下小米2s外部储存的目录,在setContentView(R.layout.activity.xml)后面写了一句打印:Log.d("MainActivity",

"getExternalStorageDirectory = " + Environment.getExternalStorageDirectory().getAbsolutePath()),半天都打印不出来,
solution:发现原来是同时打开了手机和模拟器,把模拟器关掉就OK了~
参考链接地址:http://doc.okbase.net/JohnTsai/archive/100762.html

 

 

<2015.7.14>

1. 发现Gson将Json的自动解析的构造类中,网上面的资料都是需要override toString,于是乎进Q群问了一下:

① override toString和hashcode是好习惯  ②特别是equals和hasCode在Set接口中使用是有要求的

posted @ 2015-06-24 21:46  小小鑫  阅读(280)  评论(0编辑  收藏  举报