流水笔记--2015-9-15+

来源:互联网 发布:成捷迅概预算软件 编辑:程序博客网 时间:2024/05/16 17:55

这是一篇关于复习的流水,一周的温故而知新,也让自己的缓一缓脑子~~然后集中咨询。

大致的思路是四个方面:

SQLite数据库

ContentProvider的系统访问,访问数据库应用里面的数据

Git工具

GPS 以及LBS的实践

临时插入一个小的心情,看了一些别人的心情总结文章,感觉自己大把时间不知道干嘛去了,大学,研一。现在研二好好学习不知道可来的来不及,还有这样的努力方向对不对、最重要是是否适合自己...那要不然先学一年试试吧,不行就回家做饭带孩子再见


接着上次的写,几下一些遇到的问题:

1、数据库练习中,需要对手机进行root,可以采用简单的手机软件对其进行root(试几个版本)

如果不进行root,进行数据库查询的时候,adb shell后,始终是美元符号$,需要进行root后得到#;

进行root后,adb shell,再su转换成#界面下的操作,才可以对手机的数据库进行访问和查询;但是后期又遇到sqlite3无法操作的问题,这个需要等换一个新手机再试试。

然后不必再去看File Explorer文件,看不到就算了;

2、在一些导入包会涉及到初次引入存在can't find target --14等版本问题,但是在关闭之后重新打开就会自动恢复(这是因为系统会帮你自动修改其中一个文件里面的版本号)

我们需要做的就是,window-->SDK manager打开看到Android4,4(API=19)这个文件与project.properities里面打开最后的API数字改成与刚才的19保持一致才行;

3、BaiduMapTest文件本身是正确的,可能是手机太旧了;还有过软件出了错也不要太着急,做不出来就换一个,不要想不出来郁闷还内分泌失调,这就得不偿失!


现在记录一下第一行代码中的小技巧和高级进阶的一些好的方法和习惯:

1、context的全局获取,主要是一个自定义Application类的书写,在里面通过 getApplicationContext()得到cointext并 定义静态方法getContexxt返回。不过对于自定义的Application需要在menifest文件中全名注册;

其实对于获取contextz这样一个概念我并不是太懂,可能对其中的继承和调用还不理解,不过先记录下来这个问题;

2、使用Intent传递对象;

我们会在Intent中添加一些附加数据,而putExtra()方法传入的参数类型是有限的并且常常传入自定义类;我们采用Serializable来解决或者Parcelable 的实现方式;

          Serializable是序列化的意思,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。

至于序列化的方法也很简单,只需要让一个类去实现Serializable这个接口就可以了。 

创建了一个 类实现Serializable接口后取得他的的实例,然后就直接将它传入到 putExtra()方法中了。由于Person类实现了Serializable接口,所以才可以这样写!

还有一种方式是进行

         Parcelable 的实现方式,不同于将对象进行序列化,Parcelable 方式的实现原理是将一个完整的对象进行分解,而分解后的每一部分都是 Intent所支持的数据类型,这样也就实现传递对象的功能了;更加推荐~~!同样是实现接口,等用的时候再去学习;

3、在开发阶段由于为了方便调试进行大量的Log.d()的日志打印工作,但是真正程序上线之后不佳,最理想的情况是能够自由地控制日志的打印,当程序处于开发阶段就让日志打印出来,当程序上线了之后就把日志屏蔽掉;定制一个自己的日志工具就可以轻松完成了:比如新建一个 LogUtil类:对里面的各种打印情况进行数字排序,然后接下来我们提供了 v()、d()、i()、w()、e()这五个自定义的日志方法,在其内部分别调用了 Log.v()、Log.d()、Log.i()、Log.w()、Log.e()这五个方法来打印日志,只不过在这些自定
义的方法中我们都加入了一个 if判断,只有当 LEVEL常量的值小于或等于对应日志级别值的时候,才会将日志打印出来。 
这样就把一个自定义的日志工具创建好了,之后在项目里我们可以像使用普通的日志工具一样使用LogUtil,比如打印一行DEBUG级别的日志就可以这样写: 
LogUtil.d("TAG", "debug log"); 

4、关于调试。编写测试程序的;

好吧,先这样,遇到一些问题在慢慢记录下来,现在去操作一下...





0 0
原创粉丝点击