2 cairunbo cairunbo 于 2016.04.30 16:10 提问

关于安卓SQLiteOpenHelper.getDatabaseLocke的问题

小弟想要实现这样一个功能,在Fragment页面里面实现ListView显示,而ListView数据来源于数据库,加载ListView我写了一个Adapter,但是报错了,琢磨了好长时间也没解决,上论坛来求大神帮助,错误如下:
图片说明
首先在FragmentRecord里面写的加载适配器的语句:
在onActivityCreated里面写的initData();
private void initData() {
// TODO Auto-generated method stub
c.set(Calendar.DAY_OF_MONTH,1);//设置日历为当月的1号
String start = sdf.format(c.getTime());//获取时间之后格式化输出
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));//设置日历为当月的最大天数
String end = sdf.format(c.getTime());//获取时间后格式化输出
tv01.setText(start+"至"+end);//将输出的时间填充进文本框
adapter=new FragmentRecordAdapter(null,this,start, end);//可能有问题
listView_data.setAdapter(adapter);

然后适配器FragmentRecordAdapter里面写的:
public FragmentRecordAdapter(Context context ,FragmentRecord fragmentrecord, String start,String end) {
// TODO Auto-generated constructor stub
this.f=fragmentrecord;

this.c=context;
adao2 = new AddDAO2(c,f);
cursor = adao2.queryAllDetail(start, end);
cursor.close();

关于数据库的继承与SQLiteOpenHelper类:
public class ActionDataHelper extends SQLiteOpenHelper {

 public static final String databese_name="FitnessNoteList.db";//数据库名称
public static final int version=1;//版本号,则是升级之后的,升级方法请看onUpgrade方法里面的判断

 public ActionDataHelper(Context context,FragmentRecord fragment){//构造函数,接收上下文作为参数,直接调用的父类的构造函数
    super(context,databese_name, null, version); //第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类 
}

 @Override//创建数据库当数据库首次创建时执行该方法,一般将创建表等初始化操作放在该方法中执行,重写onCreate方法,调用execSQL方法创建表
public void onCreate(SQLiteDatabase db) {
     // TODO Auto-generated method stub
     for(String sql:ActionConstants.CREATE_TABLES) {
         db.execSQL(sql);
     }
     for(String sql:ActionConstants.INIT_TABLES) {
         db.execSQL(sql);
     }
 }

用的数据库接口:
public AddDAO2(Context context , FragmentRecord fragmentrecord) {
// TODO Auto-generated constructor stub
this.c=context;
this.f=fragmentrecord;
db = new ActionDataHelper(c , f).getWritableDatabase();
db.close();
}

然后一打开就报错了,建的数据库和表应该没问题,我用另外的Activity加载ListView可以实现查找并且显示,但是加载在Fragment页面里面适配器不知道该怎么写了,求大神帮助啊!!十分的感谢啊!

4个回答

CSDNXIAON
CSDNXIAON   2016.05.06 23:20
已采纳

关于安卓内存分配问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

q610098308
q610098308   2016.04.30 17:22

new ActionDataHelper(c , f).
1.你判断一个,这两个传入的参数是否为空;
2.返回值是否这空,现在返回值是空;
原因琮需要你自己来查一下;

a332324956
a332324956   2016.05.01 14:27

位置改到
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//你的代码
}

cairunbo
cairunbo   2016.05.01 17:08

朋友,能否提点一下哪个部分的代码放到onViewCreated里面?我把initData();放在了onViewCreate里面结果报错不一样了图片说明,请问这个该如何解决

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android最新面试(非技术性问题)
Android 关于android非技术问题 1.1.  为什么看好android 1android的开发商google公司实力 2google公司研发android的最终目的 3目前移动市场的格局 4Android的支持者 5Android和其他移动操作系统的技术分析 Q2以前是否从事android的工作,做过哪些工作    这个问题主要考察应聘者是否有工作经验(从非技术角度
Android 面试 - 网络基础会问哪些问题及其解答
【回复“1024”,送你一个特别推送】原文作者:QinGeneral原文地址:http://www.jianshu.com/p/97f77927db0f特别声明:本文为QinGeneral原创并授权发布,未经原作者允许请勿转载,转载请联系原作者Android 面试中问到网络基础,基本是围绕 OSI 七层模型或者是 TCP/IP 四层模型展开的,主要包括各层名称及功能、每层有哪些协议。另外会深入考察
Android面试题答案精编
关于安卓面试 关于安卓面试
有关Android Activity的面试题和答案
1、什么是Activity 通俗一点说Activity就是一个界面,这个界面里面可以放置各个控件。Activity的界面也是用xml表示,放置在res->layout下面。每生成一个新的Activity后,我们需要在AndroidManifest.xml中注册一下这个Activity。 2、请描述一下Activity的生命周期 onCreate(Bundle savedInsta
Android蓝牙开发---站在前辈的肩膀上唠嗑
描述一段背景:前年我找工作时,总碰到一个问题。 面试官问:“你会蓝牙开发吗?”。 我说:“不会”。 面试官答:“那,很抱歉。我们商量了一下,觉得你不适合这个岗位。” 于是我就走了,心里想:“就应为一个蓝牙通讯技术不会,就把我给cut了,这面试官好有想象力。” 我一个同学,都没做过编程,我半年时间都带到android开发道上了。我仅仅蓝牙没做过,研究蓝牙无非就是三两天的时间,难吗? 于是
关于博客更新及Android记事本源码问题
各位博友,由于本人从5月份开始到10月底,一直在实习、找工作,最近又在写毕业论文,很少来CSDN了,今天才看到各位博友发的私信与评论,还请见谅。我已将Android记事本源代码上传到CSDN了,下载地址,大家可以去下载啦。另外,CSDN博客的私信与评论我不经常看,所以可能会漏掉大家发的信息,如果有问题的,可以发我邮件:xuedengchang@163.com博客以后有时间会更新,如果大家有好的博客也
全面升级Android面试之webview面试题集
(一) webview常见的一些坑 1. Android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用webView.addjavascriptInterface方法,远程攻击者可通过使用java Reflection API 利用该漏洞执行任意java对象的方法 2. webview在布局文件中的使用 :webview写在其他容器时 3. j
安卓软件测试笔记
记录关于安卓自动化测试monkeyrunner运行python脚本的相关问题,以及Android虚拟环境搭建的环境设置笔记
安卓答辩试题
安卓答辩试题,适合学生使用学习,重点的解析
安卓问题——关于TableLayout
我们来说一说关于TableLayout里面的TableRow的组件Layout_width设置为 match_parent却不填充整个屏幕宽度的问题!! 其实,TableLayout的默认组件都是不可拉伸的,如果想让它拉伸,需要设置可拉伸的列StrethColmns=“”;同时,TableLayout的整体列长与最长的列等长 附一个链接,更全面 一些。