求一位会用Android studio的朋友

想显示数据库,用列表实现或用折线图,自己已经实现了列表,但是有些小问题,能帮忙修改吗

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7408368
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Android studio线性布局、表格布局、相对布局、帧布局
  • 同时,你还可以查看手册:android Member 成员是一个接口,它反映了关于 一个成员(一个字段或一个方法)或一个构造函数。 中的内容
  • 除此之外, 这篇博客: Android Studio 安卓创建数据库中的 示例创建数据库的类,并创建增加、查询、删除用户信息的方法,在其他类直接调用即可 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • public class UserDB {
        SQLiteDatabase writableDatabase; //声明操作数据库对象
        private static String DB_NAME = "user.db"; //表名
        private static int DB_VERSION = 1;  //版本号
        private static String SQL = "create table userinfo("//创建数据库语句
                + "id integer primary key autoincrement,"   //主键
                + "account text,"  //字符串型
                + "nickname text,"   //数据库字段
                + "sex text,"
                + "age integer,"  //整型
                + "password text)";
    
    
        public static class UserDBOpenHelper extends SQLiteOpenHelper {
            private Context context;
    
            public UserDBOpenHelper(Context context) {
                super(context, DB_NAME, null, DB_VERSION);  //数据库传入数据库名及版本号
                this.context = context;
            }
    
            @Override
            public void onCreate(SQLiteDatabase db) {  //创建数据库
                db.execSQL(SQL);  //执行SQL语句
            }
    
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  //当数据库版本发生变化执行
                db.execSQL("drop table if exists userinfo");   //有这个数据库则删除重新创建
                db.execSQL(SQL);
            }
        }
    
        public void OpenUserDb(Context context) {  //打开数据库
            UserDBOpenHelper userDBOpenHelper = new UserDBOpenHelper(context);
            writableDatabase = userDBOpenHelper.getWritableDatabase();  //对数据库增删查改方法
        }
    
        public long insertUserData(User user) {   //增加数据
            String account = user.getAccount();   //获取控件输入的值
            String nickname = user.getNickname();
            String sex = user.getSex();
            String password = user.getPassword();
            int age = user.getAge();
    
            ContentValues contentValues = new ContentValues();  //存储信息
    
            contentValues.put("account", account);  //调用contentValues.put()方法通过键值存入键值
            contentValues.put("nickname", nickname);
            contentValues.put("sex", sex);
            contentValues.put("password", password);
            contentValues.put("age", age);
    		//调用增加数据writableDatabase.insert方法,第一个参数表名
            return writableDatabase.insert("userinfo", null, contentValues);  /
        }
        
    	public List<User> FindAllUser() {  //查询数据库所有数据
    	 	//封装了一个数据库字段的类,创建列表对象,存储查到找的所有用户信息
            List<User> users = new ArrayList<>(); 
            //查询条件
            Cursor userinfo = writableDatabase.query("userinfo", null, null, null, null, null, null, null);
            while (userinfo.moveToNext()) {
            	//获取查找到的信息并保存临时变量
                String account = userinfo.getString(userinfo.getColumnIndex("account"));  
                String nickname = userinfo.getString(userinfo.getColumnIndex("nickname"));
                String sex = userinfo.getString(userinfo.getColumnIndex("sex"));
                String password = userinfo.getString(userinfo.getColumnIndex("password"));
                int age = Integer.parseInt(userinfo.getString(userinfo.getColumnIndex("age")));
                User user = new User(account, nickname, sex, password, age);//封住成对象
                users.add(user);  //增加到列表
            }
            return users;  //返回数据保存
        }
        public boolean delete(String account) {  //删除
        		//调用writableDatabase.delete()删除方法,会返回受影响行数,第一个参数表名,第二个是删除条件,
            return writableDatabase.delete("userinfo", "account = ?", new String[]{account}) > 0;
        }
    
  • 您还可以看一下 刘安战老师的Android应用开发进阶与实践 课程中的 案例_创建数据库小节, 巩固相关知识点

你列表出现了什么问题?