自学内容网 自学内容网

Android入门

开发工具Android Studio 4.1  工具是很早装的了忘记咋弄的反正需要配置一些环境等等,可以网上搜下很多的教程,我写的仅仅只是自己的笔记写点东西,没有很系统性的知识,可参考性不大。

同事说Android是java的一个子集,我是java开发所以电脑上有java的jdk1.8的版本不用再去装这个版本,用习惯了maven管理jar包  使用了android后又用上了gradle管理包。

简单入门项目的目录结构

我们先介绍app目录下的结构 ,和它同级别的暂时没有用到就先不说了

app/
├── src/
│   └── main/
│       ├── java/
│       │   └── com/
│       │       └── yourpackage/
│       │           ├── data/                      // 数据层
│       │           │   ├── model/                 // 数据模型
│       │           │   │   └── User.java          // 示例模型类
│       │           │   ├── remote/                // 远程数据源
│       │           │   │   ├── ApiService.java     // API 接口定义
│       │           │   │   └── ApiClient.java      // Retrofit 客户端配置
│       │           │   └── repository/             // 数据仓库
│       │           │       └── UserRepository.java  // 数据管理类
│       │           ├── ui/                         // 用户界面层
│       │           │   ├── main/                   // 主界面模块
│       │           │   │   ├── MainActivity.java
│       │           │   │   └── MainViewModel.java   // 视图模型
│       │           │   └── shared/                  // 共享组件(如对话框)
│       │           ├── utils/                      // 工具类
│       │           │   └── NetworkUtils.java        // 网络工具类
│       │           └── App.java                    // 应用入口
│       └── res/
│           ├── layout/                               // 布局文件
│           └── values/                               // 资源文件
└── ...

main目录下少了一个AndroidManifest.xml文件,我认为是一个路由的东西,让你找到Activity类,个人理解一个页面的入口,然后一个Activity对应 res/layout下的一个xml,xml可以认为是前端中html,activity相当于js去实现业务逻辑。

在一个就是Android中一个自带的效型数据库SQLiteOpenHelper, 整个应用感觉和mysql数据库没有啥区别就是在程序中创建库表,然后对表进行操作。唯一区别应该是不用装软件,自身有的。

 我自己应用的给大家贴下代码吧

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "local_database.db"; // 数据库名称
    private static final int DATABASE_VERSION = 1; // 数据库版本

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }


    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建表的 SQL 语句
        String createTable = "CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT)";
        db.execSQL(createTable);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 更新数据库时调用
        db.execSQL("DROP TABLE IF EXISTS users");
        onCreate(db);
    }


    public void addUser(String username, String password) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("username", username);
        values.put("password", password);
        db.insert("users", null, values);
        db.close(); // 关闭数据库连接
    }

    public Cursor getUser(String username) {
        SQLiteDatabase db = this.getReadableDatabase();
        return db.query("users", null, "username=?", new String[]{username}, null, null, null);
    }

    public void updateUserPassword(String username, String newPassword) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("password", newPassword);
        db.update("users", values, "username=?", new String[]{username});
        db.close(); // 关闭数据库连接
    }
    public Cursor getAllUsers() {
        SQLiteDatabase db = this.getReadableDatabase();
        return db.query("users", null, null, null, null, null, null);
    }
    public void deleteUser(String username) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete("users", "username=?", new String[]{username});
        db.close(); // 关闭数据库连接
    }


}

 调用

public class LoginRepository {

    private DatabaseHelper dbHelper;

    public LoginRepository(Context context) {
        dbHelper = new DatabaseHelper(context);
    }
    public boolean login(String username, String password) {
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        Cursor cursor = db.query("users", null, "username=? AND password=?", new String[]{username, password}, null, null, null);

        if (cursor != null && cursor.moveToFirst()) {
            // 登录成功,更新登录状态
            updateLoginStatus(username, true);
            cursor.close();
            return true; // 登录成功
        }

        return false; // 登录失败
    }
}


原文地址:https://blog.csdn.net/m18330808841/article/details/145276266

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!