安卓期末项目考核(3)--sqlite的运用

sqlite是安卓自带的数据库,老师讲这个的时候耍去了,就。。。。
我运用数据库是利用导包运用的,源码如下:

在这里插入图片描述user类

package com.jiang.jzj_qq.user;

public class User {
    private String account;
    private String name;
    private String sex;
    private int age;
    private String adress;
    private String email;
    private String phone;
    private String password;

    public User(String account, String name, String sex, int age, String phone, String password) {
        this.account = account;
        this.name = name;
        this.sex = sex;
        this.age = age;
//        this.adress = adress;
//        this.email = email;
        this.phone = phone;
        this.password = password;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

//    public String getAdress() {
//        return adress;
//    }
//
//    public void setAdress(String adress) {
//        this.adress = adress;
//    }
//
//    public String getEmail() {
//        return email;
//    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "account='" + account + '\'' +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
//                ", adress='" + adress + '\'' +
//                ", email='" + email + '\'' +
                ", phone='" + phone + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

userDB

package com.jiang.jzj_qq.user;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;


import java.util.ArrayList;
import java.util.List;

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," +
            "       name text," +
            "       sex text," +
            "       age integer," +
            "       address text," +
            "       email text," +
            "       phone text," +
            "       pwd text" +
            ")";

    public User findUserByAccount(String account) {  //查找
        Cursor userinfo = writableDatabase.query("userinfo",null,"account = ?",new String[]{account},null,null,null);
        User user = null;
        while (userinfo.moveToNext()){
            String acc = userinfo.getString(userinfo.getColumnIndex("account"));
            String name = userinfo.getString(userinfo.getColumnIndex("name"));
            String sex = userinfo.getString(userinfo.getColumnIndex("sex"));
            int age = Integer.parseInt(userinfo.getString(userinfo.getColumnIndex("age")));
            String address = userinfo.getString(userinfo.getColumnIndex("address"));
            String email = userinfo.getString(userinfo.getColumnIndex("email"));
            String phone = userinfo.getString(userinfo.getColumnIndex("phone"));
            String pwd = userinfo.getString(userinfo.getColumnIndex("pwd"));
            user = new User(acc, name, sex, age, phone, pwd);
        }
       return user;
    }
    //修改的方法 update userinfo set name = ? ,phone = ? where account = ?
    public long UserUpdate(String account,String name,String phone){
        ContentValues contentValues = new ContentValues();
        contentValues.put("name",name);
        contentValues.put("phone",phone);
        return writableDatabase.update("userinfo",contentValues,"account = ?",new String[]{account}) ;
    }

    public boolean deleteByAccount(String account) {
        return writableDatabase.delete("userinfo","account=?",new String[]{account})>0;
    }

    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 name = userinfo.getString(userinfo.getColumnIndex("name"));
            String sex = userinfo.getString(userinfo.getColumnIndex("sex"));
            int age = Integer.parseInt(userinfo.getString(userinfo.getColumnIndex("age")));
            String address = userinfo.getString(userinfo.getColumnIndex("address"));
            String email = userinfo.getString(userinfo.getColumnIndex("email"));
            String phone = userinfo.getString(userinfo.getColumnIndex("phone"));
            String pwd = userinfo.getString(userinfo.getColumnIndex("pwd"));
            Log.d("mas", "取值");
            User user = new User(account, name, sex, age, pwd, phone);
            users.add(user);
        }
        return users;
    }


    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) {
//            执行sql语句
            db.execSQL(SQL);
            Toast.makeText(context, "创建sqlite成功", Toast.LENGTH_SHORT).show();
        }

        /*
        更新数据库(当版本号发生变化的时候)
         */
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("drop table if exists userinfo");
            db.execSQL(SQL);
        }
    }

    /*
    打开数据库
     */
    public void OpenUserDb(Context mcontext) {
        UserDbOpenHelper userDbOpenHelper = new UserDbOpenHelper(mcontext);
        writableDatabase = userDbOpenHelper.getWritableDatabase();
    }

    /*
    新增数据insert
    用于用户注册(--新增语句
insert into student(name,sex,age)values
('小名','男','hello')
--字段名和值要一一对应
--删除语句
delete from student  where name = '小名')
     */
    public long insertUserData(User user) {  //插入
        String account = user.getAccount();
        String name = user.getName();
        String sex = user.getSex();
        int age = user.getAge();
//        String email = user.getEmail();
        String phone = user.getPhone();
//        String address = user.getAdress();
        String pwd = user.getPassword();

        ContentValues contentValues = new ContentValues();

        contentValues.put("account", account);
        contentValues.put("name", name);
        contentValues.put("sex", sex);
        contentValues.put("age", age);
//        contentValues.put("email", email);
//        contentValues.put("address", address);
        contentValues.put("phone", phone);
        contentValues.put("pwd", pwd);

        return writableDatabase.insert("userinfo", null, contentValues);
    }

    public List<User> FindAllUsers() {
        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 name = userinfo.getString(userinfo.getColumnIndex("name"));
            String sex = userinfo.getString(userinfo.getColumnIndex("sex"));
            int age = Integer.parseInt(userinfo.getString(userinfo.getColumnIndex("age")));
            String address = userinfo.getString(userinfo.getColumnIndex("address"));
            String email = userinfo.getString(userinfo.getColumnIndex("email"));
            String phone = userinfo.getString(userinfo.getColumnIndex("phone"));
            String pwd = userinfo.getString(userinfo.getColumnIndex("pwd"));
            Log.d("mas", "取值");
            User user = new User(account, name, sex, age, pwd, phone);
            users.add(user);
        }
        return users;
    }

    public boolean delete(String account) {
        return writableDatabase.delete("userinfo", "account = ?", new String[]{account})>0;
    }
    }

文件夹sql类

package com.jiang.jzj_qq.sql;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.jiang.jzj_qq.R;
import com.jiang.jzj_qq.user.User;
import com.jiang.jzj_qq.user.UserDB;

import java.util.List;


//删除



public class AllUsers extends AppCompatActivity {

    private ListView userlistview;
    private List<User> users;
    private UserDB userDB;
    private AdapterView listViewLV;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_users);
        userDB = new UserDB();
        userDB.OpenUserDb(this);
        //1.获取listview
        userlistview = findViewById(R.id.user_listview);
        //2.添加数据源,数据库全查询(UserDB类里完成)
        users = userDB.FindAllUsers();
        //3.构建Adapter
        UserAdapter userAdapter = new UserAdapter(users, this);
        //4.显示list
        userlistview.setAdapter(userAdapter);
        listViewLV = findViewById(R.id.user_listview);
        listViewLV.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                User user = users.get(position);
                if (userDB.delete(user.getAccount())) {
                    Toast.makeText(AllUsers.this, "删除成功", Toast.LENGTH_LONG);
                    startActivity(new Intent(AllUsers.this,AllUsers.class));
                } else {
                    Toast.makeText(AllUsers.this, "删除失败", Toast.LENGTH_LONG);
                }
                return false;
            }
        });
        //添加点击事件(跳转到修改页面)
        userlistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
               Intent intent = new Intent(AllUsers.this,UserUapedate.class);
                //携带原始数据
                User user = users.get(position);
                String account = user.getAccount();
                intent.putExtra("account",account);
                startActivity(intent);
            }
        });
    }
}
package com.jiang.jzj_qq.sql;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;


public class DataHelper {

    /**
     * sharepreference方式存储
     *
     * @param context XML的文件名,通常取模块名
     * @param key     存储在XML中的key
     * @param value   值
     */
    public static void putData2SharedPreferences(Context context, String moduleName, String key, Object value) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(moduleName, Context.MODE_PRIVATE); // 私有数据
        Editor editor = sharedPreferences.edit();
        if (value instanceof Boolean) {
            editor.putBoolean(key, (Boolean) value);
        } else if (value instanceof Integer) {
            editor.putInt(key, (Integer) value);
        } else if (value instanceof String) {
            editor.putString(key, (String) value);
        } else if (value instanceof Long) {
            editor.putLong(key, (Long) value);
        } else if (value instanceof Float) {
            editor.putFloat(key, (Float) value);
        }
        editor.apply();
    }

    public static String getStringFromSharedPreferences(Context context, String name , String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(name, Context.MODE_PRIVATE); // 私有数据
        return sharedPreferences.getString(key, "");
    }

    public static Boolean getBooleanFromSharedPreferences(Context context, String name , String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(name, Context.MODE_PRIVATE); // 私有数据
        return sharedPreferences.getBoolean(key, false);
    }
    public static int getIntFromSharedPreferences(Context context, String name , String key) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(name, Context.MODE_PRIVATE); // 私有数据
        return sharedPreferences.getInt(key, -1);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
android开发期末大作业(项目源码,任务书,实验大报告,apk文件) 大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等) 一、实验项目名称 Android手机应用开发课程大作业 二、实验目的 1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用课堂上所学的Android手机应用开发知识。 2.为学生综合应用本专业所学习的多门课程知识(例如,软件工程、数据库、Java语言、Java Web开发等)创造实践机会。为学生提供主动学习、积极探索与大胆创新的机会。 3.掌握Android手机应用设计的方法与技巧。 三、实验内容及要求 1、设计内容 题目、设计内容自拟,工作量适中,要求学生应用课程所学知识,采用JAVA语言和Android手机应用开发技术实现一个完整的系统。 ①完成大作业报告。 ②实现各系统功能,并完成调试运行。 2、主要技术 采用Java语言并不仅限于Java语言实现系统。 开发环境与工具:Android Studio 3.2以上版本; 操作系统:Win7/Win10或其他; 4、设计成果: 材料上交:电子文档(大作业任务书+大作业报告+源代码,电子稿请刻在光盘上)、打印稿(大作业任务书+大作业报告)。 四、成绩评定: 考核标准包括: 1、选题的工作量,难度和新颖程度 2、系统架构设计是否良好,运行过程是否报错 3、界面设计的合理性和美观程度 4、基本功能的实现 分值60 (包括布局、组件、Activity、Intent等使用) 数据存储的使用 分值10 网络功能 分值10 Service、ContentProvider或BroadCastReceiver等的使用 分值10 附加分: 图形图像处理、多媒体处理等 分值10 5、考核方式为面对面答辩,在课程的后两周内集中进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值