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)!