导入本地SQLite文件
借鉴自 读取assets目录下的数据库文件
Project-app-main文件夹下new一个assets folder,如图:
准备好的数据库文件直接复制粘贴过去。
3. 用代码把assets路径下的该文件用I/O的方式写入对应包名的路径下,代码如下:
public class DataBaseManager {
String filePath = "data/data/com.solory.william.myweather/databases/my_db.db";
String pathStr = "data/data/com.sol
2017-10-12
Android
JSONObject,JSONArray解析
参考博客:李双喆的JSONObject、JSONArray
这玩意弄得我迷迷糊糊的,今天终于搞明白了,记录之。
看图先首先搞明白两个概念:
JSONObject是用{}来表示的,没有{}不是JSONObject。
JSONArray使用[]来表示的,没有[]不是JSONArray。
解释一下上图,比如上图,直接出来一个[ ],[ ]就是数组,数组里有两个元素,也就是两个{},也就是两个JSONObject。注意这里第二个{}是空的。
好的,整明白了之后,比如我们要拿到键name4对应的值value2时,怎么操作?
JSONArray jsonAr
2017-10-09
Android
GreenDao安全地升级数据库
首先,这玩意怎么升级数据库?
传统SQLite语句做法:写一个自己的Helper继承自SQLiteOpenHelper,重写里面的onUpgrade方法,方法里做的事情就是(如图):
先把原先的表drop下来,就是删了
然后再重新创建)然后拿helper的时候就用的自己的Helper就完事了,接着这里第四个参数就是数据库版本号,填一个比之前大的数字就OK了。
GreenDao:问题:greendao里面没有那种指定版本号就升级的方法,摸索之后如下:在这里更改数据库版本,然后点击make project,下次安装的时候就升级了~
然而,默认情况下GreenDao升级数据库也是会直接dr
2017-10-08
Android
Application使用技巧
这里简单介绍application类的使用技巧
首先,写一个类来继承自Application,然后重写onCreate方法:
然后在Manifest文件里面把我们自己写的Application配进去:
这里注意了,此前我自己也遇到过这个麻烦,那么就是在用这个MyApplication的时候,是绝对不能这么写的:
MyApplication app=new MyApplication();
我当时这么写的结果就是,代码都不知道怎么错的,调试了半天,
还以为是我数据库初始化出了问题。这个很严重。错的原因是,
Application这个东西是Android系统的一个类,是在应用打开的
2017-10-05
Android
Android-用接口来给RecyclerView的item添加监听事件
此前我添加item的监听事件是直接在Adapter里面的onCreate方法中直接holder.view.setOnClickListener(new OnClickListener){};此方法是学的郭霖的第二行代码。
后面在hongyang的博客学的下面这个方法:
public interface OnItemClickListener {
void onItemClick(View v,int position);
}
public interface OnItemLongClickListener {
void onItemLo
2017-09-20
Android
Android-给recyclerview添加footView
效果图:
首先新建一个recyclerview
以下是MyAdapter
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private Context context;
private List<String> list;
MyAdapter(List<String> list, Context context) {
this.list = list;
this.context = conte
2017-09-20
Android