1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > [Android Studio]微型技术报告-手机平台应用开发

[Android Studio]微型技术报告-手机平台应用开发

时间:2022-04-20 00:37:28

相关推荐

[Android Studio]微型技术报告-手机平台应用开发

最近,我在进行有关手机平台的应用开发。在项目开发过程中,可谓是吃尽了苦头,临近崩溃。由于是才接触这门技术的小白,很多地方都是初次接触,操作起来显得特别困难,所以在这个过程中遇到了许许多多的问题,让我甚是苦恼。于是我花费了大把的时间和精力上网各种逛论坛刷博客查阅资料,总算,功夫不负有心人,问题差不多都解决了,自己也感觉在这门技术领域初步入门了。目前项目的开发也变得顺畅了些,虽然不是完全没问题,但相比之前,已经好了很多了。对于这些收获,我是很高兴的。在这个过程中,自己结合自己项目的具体要求,通过上网查阅一些相关的资料,发现了一些非常实用好用通用的设计模式,掌握了感觉收获颇多,现在我就把这些东西分享给你们,希望对那些和我同样处于技术开发临近崩溃边缘的同学一些帮助,希望能帮你重拾信心。

话不多说,进入正题!

技术一:在Android Studio中实现对SQLite数据库的增删改查

增删改查”,相信懂的都懂。现实中很多APP网站之类的应用中有关信息处理的部分,虽然“外表看起来很光鲜”,但深究其内部的原理,不外乎都是对数据库中相关表的增删改查,所以这部分显得尤为重要。相信只要是长期进行项目开发的同学,不管是Web应用开发还是移动手机平台应用开发,都遇到过。在我这次手机平台应用开发项目中,我也遇到了,最后也是经历了一大番挣扎后,终于勉强解决。所以,我觉得这部分很有必要总结分享一下!

先来认识一下SQLite数据库:

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。(来自官方解释)简而言之,SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。相比Mysql、SQL Server这些世界著名数据库管理系统来讲,它的处理速度比他们都快。所以在进行手机平台应用开发的过程中,大部分人都会选择它来作为数据存储的工具。现在Android Studio中也自带了有关它的包和工具,所以使用起来也是很方便,毕竟不用像过去一样,要花一大把时间和精力考虑Android Studio与MySQL、SQL Server等的连接,在这个过程中要下载各种包,进行各种配置,一不小心就会出现各种问题。

下面进入正题,谈一谈Android Studio中实现对SQLite简单的增删改查。

以我自己的项目为例:

我新建了一个类Earth(土地信息类),要做的就是实现对数据库中有关土地信息的表earth的增删改查。代码如下:

//Earth.java

package com.example.farmer;

public class Earth {

private String Eno; //土地标号

private String diwei; //地位

private String dikuai; //地块

private String dibiao; //地标

private String diqu; //地区

private String area; //种植面积

private String zhuangtai;//状态

public Earth(String Eno, String diwei,String dikuai,String dibiao,String diqu,String area,String zhuangtai) {this.Eno = Eno;this.diwei = diwei;this.dikuai = dikuai;this.dibiao = dibiao;this.diqu = diqu;this.area = area;this.zhuangtai = zhuangtai;}public String getEno() {return Eno;}public void setEno(String Eno) {this.Eno = Eno;}public String getdiwei() {return diwei;}public void setdiwei(String diwei) {this.diwei = diwei;}public String getdikuai() {return dikuai;}public void setdikuai(String dikuai) {this.dikuai = dikuai;}public String getdibiao() {return dibiao;}public void setdibiao(String dibiao) {this.dibiao = dibiao;}public String getdiqu() {return diqu;}public void setdiqu(String diqu) {this.diqu = diqu;}public String getarea() {return area;}public void setarea(String area) {this.area = area;}public String getzhuangtai() {return zhuangtai;}public void setzhuangtai(String zhuangtai) {this.zhuangtai = zhuangtai;}@Overridepublic String toString() {return "土地信息{" +"土地标号:'" + Eno + '\'' +", 土地地位:'" + diwei + '\'' +", 土地地块:'" + dikuai + '\'' +", 土地地标:'" + dibiao + '\'' +", 土地地区:'" + diqu + '\'' +", 土地面积:'" + area + '\'' +", 土地状态(负责人):'" + zhuangtai + '\'' +'}';}

}

这部分要重点注意toString()函数的编写,如果格式不对的话后面是实现不了这些功能的,我就在这里犯过很多错误,反思良久,请大家注意!

接下来就是要建立与数据库的连接

我这里新建了一个DBOpenHelper,java专门用来进行数据库的创建表的创建以及增删改查等工作

//DBOpenHelper.java

package com.example.farmer;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;

/**

Created by littlecurl /6/24

*/

public class DBOpenHelper extends SQLiteOpenHelper {

/**

* 声明一个AndroidSDK自带的数据库变量db

*/

private SQLiteDatabase db;

/*** 写一个这个类的构造函数,参数为上下文context,所谓上下文就是这个类所在包的路径* 指明上下文,数据库名,工厂默认空值,版本号默认从1开始* super(context,"db_test",null,1);* 把数据库设置成可写入状态,除非内存已满,那时候会自动设置为只读模式* 不过,以现如今的内存容量,估计一辈子也见不到几次内存占满的状态* db = getReadableDatabase();*/public DBOpenHelper(Context context){super(context,"db_test",null,1);db = getReadableDatabase();}/*** 重写两个必须要重写的方法,因为class DBOpenHelper extends SQLiteOpenHelper* 而这两个方法是 abstract 类 SQLiteOpenHelper 中声明的 abstract 方法* 所以必须在子类 DBOpenHelper 中重写 abstract 方法* 想想也是,为啥规定这么死必须重写?* 因为,一个数据库表,首先是要被创建的,然后免不了是要进行增删改操作的* 所以就有onCreate()、onUpgrade()两个方法* @param db*/@Overridepublic void onCreate(SQLiteDatabase db){db.execSQL("CREATE TABLE IF NOT EXISTS user(" +"_id INTEGER PRIMARY KEY AUTOINCREMENT," +"name TEXT," +"password TEXT,"+"kind TEXT)");db.execSQL("CREATE TABLE IF NOT EXISTS earth(" +"Eno INTEGER PRIMARY KEY AUTOINCREMENT," +"diwei TEXT," +"dikuai TEXT,"+"dibiao TEXT,"+"diqu TEXT,"+"area TEXT,"+"zhuangtai TEXT)");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){db.execSQL("DROP TABLE IF EXISTS user");db.execSQL("DROP TABLE IF EXISTS earth");onCreate(db);}public void add(String name,String password,String kind){db.execSQL("INSERT INTO user (name,password,kind) VALUES(?,?,?)",new Object[]{name,password,kind});}public void add1(String Eno, String diwei,String dikuai,String dibiao,String diqu,String area,String zhuangtai){db.execSQL("INSERT INTO earth (Eno, diwei,dikuai,dibiao,diqu,area,zhuangtai) VALUES(?,?,?,?,?,?,?)",new Object[]{Eno, diwei,dikuai,dibiao,diqu,area,zhuangtai});}public void delete(String name,String password){db.execSQL("DELETE FROM user WHERE name = AND password ="+name+password);}public void delete1(String Eno){db.execSQL("DELETE FROM earth WHERE Eno = "+Eno);}public void update(String password){db.execSQL("UPDATE user SET password = ?",new Object[]{password});}public void update1(String Eno, String diwei,String dikuai,String dibiao,String diqu,String area,String zhuangtai){db.execSQL("UPDATE earth SET area=?,zhuangtai=? WHERE Eno=? AND diwei=? AND dikuai=? AND dibiao=? AND diqu=?",new Object[]{area,zhuangtai,Eno,diwei,dikuai,dibiao,diqu});}public void select1(){db.execSQL("SELECT * FROM earth");}public ArrayList<User> getAllData(){ArrayList<User> list = new ArrayList<User>();Cursor cursor = db.query("user",null,null,null,null,null,"name DESC");while(cursor.moveToNext()){String name = cursor.getString(cursor.getColumnIndex("name"));String password = cursor.getString(cursor.getColumnIndex("password"));String kind = cursor.getString(cursor.getColumnIndex("kind"));list.add(new User(name,password,kind));}return list;}public ArrayList<Earth> getAllData1(){ArrayList<Earth> list1 = new ArrayList<Earth>();Cursor cursor = db.query("earth",null,null,null,null,null,"name DESC");while(cursor.moveToNext()){String Eno = cursor.getString(cursor.getColumnIndex("Eno"));String diwei = cursor.getString(cursor.getColumnIndex("diwei"));String dikuai = cursor.getString(cursor.getColumnIndex("dikuai"));String dibiao = cursor.getString(cursor.getColumnIndex("dibiao"));String diqu = cursor.getString(cursor.getColumnIndex("diqu"));String area = cursor.getString(cursor.getColumnIndex("area"));String zhuangtai = cursor.getString(cursor.getColumnIndex("zhuangtai"));list1.add(new Earth(Eno, diwei,dikuai,dibiao,diqu,area,zhuangtai));}return list1;}

}

这里面就定义了我后面需要用到的几个函数(代码中写到的函数并不全部 都会用,这里我只截取了部分代码),增:add1, 删:delete1, 改:update1, 查:select

好了,接下来就是分块实现增删改查的工作了。由于代码较多,大部分看起来都比较浅显易懂,我就不一一解释了,直接上代码。

增:

//activity_earth_add

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayoutandroid:id="@+id/rl_registeractivity_top"android:layout_width="match_parent"android:layout_height="70dp"android:background="@color/color_minefragment_top"><ImageViewandroid:id="@+id/iv_registeractivity_back"android:layout_width="30dp"android:layout_height="30dp"android:background="@drawable/ic_left_back"android:layout_centerVertical="true"android:layout_marginLeft="10dp"android:clickable="true"android:onClick="onClick"/><TextViewandroid:id="@+id/tv_registeractivity_register"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地管理——创建新土地"android:textColor="#fff"android:textSize="20dp"android:layout_toRightOf="@+id/iv_registeractivity_back"android:layout_centerVertical="true"android:layout_marginLeft="20dp"/></RelativeLayout><LinearLayoutandroid:id="@+id/ll_registeractivity_body"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:layout_below="@+id/rl_registeractivity_top"android:layout_marginTop="10dp"android:layout_marginLeft="5dp"android:layout_marginRight="5dp"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_Eno"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地标号:"/><EditTextandroid:id="@+id/et_registeractivity_Eno"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地标号"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_diwei"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地位:"/><EditTextandroid:id="@+id/et_registeractivity_diwei"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地地位"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_dikuai"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地块:"/><EditTextandroid:id="@+id/et_registeractivity_dikuai"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地地块"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_dibiao"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地标:"/><EditTextandroid:id="@+id/et_registeractivity_dibiao"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地地标"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_diqu"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地区:"/><EditTextandroid:id="@+id/et_registeractivity_diqu"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地地区"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_area"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地面积:"/><EditTextandroid:id="@+id/et_registeractivity_area"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地面积"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_zhuangtai"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地状态(负责人):"/><EditTextandroid:id="@+id/et_registeractivity_zhuangtai"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入土地状态(负责人)"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><!-- 注册按钮 --><Buttonandroid:id="@+id/bt_registeractivity_register"android:layout_width="match_parent"android:layout_height="50dp"android:layout_marginLeft="5dp"android:background="@drawable/selector_loginactivity_button"android:textColor="#fff"android:text="新建"android:onClick="onClick"android:layout_marginTop="40dp"/></LinearLayout>

//EarthAddActicity

package com.example.farmer;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.text.TextUtils;

import android.view.View;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.Toast;

import butterknife.BindView;

import butterknife.ButterKnife;

import butterknife.OnClick;

public class EarthAddActivity extends AppCompatActivity{

private DBOpenHelper mDBOpenHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_earth_add);ButterKnife.bind(this);mDBOpenHelper = new DBOpenHelper(this);}@BindView(R.id.rl_registeractivity_top)RelativeLayout mRlRegisteractivityTop;@BindView(R.id.iv_registeractivity_back)ImageView mIvRegisteractivityBack;@BindView(R.id.ll_registeractivity_body)LinearLayout mLlRegisteractivityBody;@BindView(R.id.et_registeractivity_Eno)EditText mEtRegisteractivityEno;@BindView(R.id.et_registeractivity_diwei)EditText mEtRegisteractivitydiwei;@BindView(R.id.et_registeractivity_dikuai)EditText mEtRegisteractivitydikuai;@BindView(R.id.et_registeractivity_dibiao)EditText mEtRegisteractivitydibiao;@BindView(R.id.et_registeractivity_diqu)EditText mEtRegisteractivitydiqu;@BindView(R.id.et_registeractivity_area)EditText mEtRegisteractivityarea;@BindView(R.id.et_registeractivity_zhuangtai)EditText mEtRegisteractivityzhuangtai;@OnClick({R.id.iv_registeractivity_back,R.id.bt_registeractivity_register})public void onClick(View view) {switch (view.getId()) {case R.id.iv_registeractivity_back:Intent intent1 = new Intent(this, MainActivity.class);startActivity(intent1);finish();break;case R.id.bt_registeractivity_register:String Eno = mEtRegisteractivityEno.getText().toString().trim();String diwei = mEtRegisteractivitydiwei.getText().toString().trim();String dikuai = mEtRegisteractivitydikuai.getText().toString().trim();String dibiao = mEtRegisteractivitydibiao.getText().toString().trim();String diqu = mEtRegisteractivitydiqu.getText().toString().trim();String area = mEtRegisteractivityarea.getText().toString().trim();String zhuangtai = mEtRegisteractivityzhuangtai.getText().toString().trim();if (!TextUtils.isEmpty(Eno) && !TextUtils.isEmpty(diwei) && !TextUtils.isEmpty(dikuai)&& !TextUtils.isEmpty(dibiao)&& !TextUtils.isEmpty(diqu)&& !TextUtils.isEmpty(area)&& !TextUtils.isEmpty(zhuangtai) ) {//将土地信息加入到数据库中mDBOpenHelper.add1(Eno, diwei,dikuai,dibiao,diqu,area,zhuangtai);Intent intent2 = new Intent(this, MainActivity.class);startActivity(intent2);finish();Toast.makeText(this, "新建土地成功", Toast.LENGTH_SHORT).show();}else {Toast.makeText(this, "新建土地失败", Toast.LENGTH_SHORT).show();}break;}}

}

//activity_earth_delete

<?xml version="1.0" encoding="utf-8"?>

//EarthDeleteActivity

package com.example.farmer;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.text.TextUtils;

import android.view.View;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.Toast;

import butterknife.BindView;

import butterknife.ButterKnife;

import butterknife.OnClick;

public class EarthDeleteActivity extends AppCompatActivity {

private DBOpenHelper mDBOpenHelper;

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_earth_delete);ButterKnife.bind(this);mDBOpenHelper = new DBOpenHelper(this);}@BindView(R.id.rl_registeractivity_top)RelativeLayout mRlRegisteractivityTop;@BindView(R.id.iv_registeractivity_back)ImageView mIvRegisteractivityBack;@BindView(R.id.ll_registeractivity_body)LinearLayout mLlRegisteractivityBody;@BindView(R.id.et_registeractivity_Eno)EditText mEtRegisteractivityEno;@OnClick({R.id.iv_registeractivity_back,R.id.bt_registeractivity_register})public void onClick(View view) {switch (view.getId()) {case R.id.iv_registeractivity_back:Intent intent1 = new Intent(this, MainActivity.class);startActivity(intent1);finish();break;case R.id.bt_registeractivity_register:String Eno = mEtRegisteractivityEno.getText().toString().trim();if (!TextUtils.isEmpty(Eno) ) {//从数据库中删除原有土地信息mDBOpenHelper.delete1(Eno);Intent intent2 = new Intent(this, MainActivity.class);startActivity(intent2);finish();Toast.makeText(this, "删除原有土地成功", Toast.LENGTH_SHORT).show();}else {Toast.makeText(this, "删除原有土地失败", Toast.LENGTH_SHORT).show();}break;}}

}

改:

//activity_earth_update

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayoutandroid:id="@+id/rl_registeractivity_top"android:layout_width="match_parent"android:layout_height="70dp"android:background="@color/color_minefragment_top"><ImageViewandroid:id="@+id/iv_registeractivity_back"android:layout_width="30dp"android:layout_height="30dp"android:background="@drawable/ic_left_back"android:layout_centerVertical="true"android:layout_marginLeft="10dp"android:clickable="true"android:onClick="onClick"/><TextViewandroid:id="@+id/tv_registeractivity_register"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地管理——修改土地信息"android:textColor="#fff"android:textSize="20dp"android:layout_toRightOf="@+id/iv_registeractivity_back"android:layout_centerVertical="true"android:layout_marginLeft="20dp"/></RelativeLayout><LinearLayoutandroid:id="@+id/ll_registeractivity_body"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:layout_below="@+id/rl_registeractivity_top"android:layout_marginTop="10dp"android:layout_marginLeft="5dp"android:layout_marginRight="5dp"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_Eno"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地标号:"/><EditTextandroid:id="@+id/et_registeractivity_Eno"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入要修改土地的土地标号"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_diwei"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地位:"/><EditTextandroid:id="@+id/et_registeractivity_diwei"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入要修改土地的土地地位"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_dikuai"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地块:"/><EditTextandroid:id="@+id/et_registeractivity_dikuai"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入要修改土地的土地地块"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_dibiao"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地标:"/><EditTextandroid:id="@+id/et_registeractivity_dibiao"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入要修改土地的土地地标"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_diqu"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地地区:"/><EditTextandroid:id="@+id/et_registeractivity_diqu"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入要修改土地的土地地区"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_area"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地面积:"/><EditTextandroid:id="@+id/et_registeractivity_area"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入修改后新的土地面积"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_registeractivity_zhuangtai"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="土地状态(负责人):"/><EditTextandroid:id="@+id/et_registeractivity_zhuangtai"android:layout_width="match_parent"android:layout_height="50dp"android:hint="请输入新的土地状态"android:gravity="center_vertical"android:layout_marginLeft="10dp"/></LinearLayout><Buttonandroid:id="@+id/bt_registeractivity_register"android:layout_width="match_parent"android:layout_height="50dp"android:layout_marginLeft="5dp"android:background="@drawable/selector_loginactivity_button"android:textColor="#fff"android:text="修改"android:onClick="onClick"android:layout_marginTop="40dp"/></LinearLayout>

//EarthUpdateActivity.java package com.example.farmer;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.text.TextUtils;

import android.view.View;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.RelativeLayout;

import android.widget.Toast;

import butterknife.BindView;

import butterknife.ButterKnife;

import butterknife.OnClick;

public class EarthUpdateActivity extends AppCompatActivity{

private DBOpenHelper mDBOpenHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_earth_update);ButterKnife.bind(this);mDBOpenHelper = new DBOpenHelper(this);}@BindView(R.id.rl_registeractivity_top)RelativeLayout mRlRegisteractivityTop;@BindView(R.id.iv_registeractivity_back)ImageView mIvRegisteractivityBack;@BindView(R.id.ll_registeractivity_body)LinearLayout mLlRegisteractivityBody;@BindView(R.id.et_registeractivity_Eno)EditText mEtRegisteractivityEno;@BindView(R.id.et_registeractivity_diwei)EditText mEtRegisteractivitydiwei;@BindView(R.id.et_registeractivity_dikuai)EditText mEtRegisteractivitydikuai;@BindView(R.id.et_registeractivity_dibiao)EditText mEtRegisteractivitydibiao;@BindView(R.id.et_registeractivity_diqu)EditText mEtRegisteractivitydiqu;@BindView(R.id.et_registeractivity_area)EditText mEtRegisteractivityarea;@BindView(R.id.et_registeractivity_zhuangtai)EditText mEtRegisteractivityzhuangtai;@OnClick({R.id.iv_registeractivity_back,R.id.bt_registeractivity_register})public void onClick(View view) {switch (view.getId()) {case R.id.iv_registeractivity_back:Intent intent1 = new Intent(this, MainActivity.class);startActivity(intent1);finish();break;case R.id.bt_registeractivity_register:String Eno = mEtRegisteractivityEno.getText().toString().trim();String diwei = mEtRegisteractivitydiwei.getText().toString().trim();String dikuai = mEtRegisteractivitydikuai.getText().toString().trim();String dibiao = mEtRegisteractivitydibiao.getText().toString().trim();String diqu = mEtRegisteractivitydiqu.getText().toString().trim();String area = mEtRegisteractivityarea.getText().toString().trim();String zhuangtai = mEtRegisteractivityzhuangtai.getText().toString().trim();if (!TextUtils.isEmpty(Eno) && !TextUtils.isEmpty(diwei) && !TextUtils.isEmpty(dikuai)&& !TextUtils.isEmpty(dibiao)&& !TextUtils.isEmpty(diqu)&& !TextUtils.isEmpty(area)&& !TextUtils.isEmpty(zhuangtai) ) {//对数据库中的土地信息进行修改mDBOpenHelper.update1(Eno, diwei,dikuai,dibiao,diqu,area,zhuangtai);Intent intent2 = new Intent(this, MainActivity.class);startActivity(intent2);finish();Toast.makeText(this, "修改土地信息成功", Toast.LENGTH_SHORT).show();}else {Toast.makeText(this, "修改土地信息失败", Toast.LENGTH_SHORT).show();}break;}}

}

查:(这里没有设置查询条件,有要求的可以自己加在后面)

//activity_earth_show

ScrollView xmlns:android=“/apk/res/android”

xmlns:tools=“/tools”

android:layout_width=“match_parent”

android:layout_height=“match_parent” >

<LinearLayoutandroid:id="@+id/ll"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".EarthShowActivity" ></LinearLayout>

//EarthShowActivity package com.example.farmer;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.LinearLayout;

import android.widget.TextView;

import java.util.ArrayList;

import java.util.List;

public class EarthShowActivity extends AppCompatActivity {

List mEarthList;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_earth_show);

mEarthList=new ArrayList();

//从数据库里面把数据取出来DBOpenHelper oh = new DBOpenHelper(this);SQLiteDatabase db = oh.getWritableDatabase();Cursor cursor = db.query("earth", null, null, null, null, null, null);while (cursor.moveToNext()) {String Eno = cursor.getString(cursor.getColumnIndex("Eno"));String diwei = cursor.getString(cursor.getColumnIndex("diwei"));String dikuai = cursor.getString(cursor.getColumnIndex("dikuai"));String dibiao = cursor.getString(cursor.getColumnIndex("dibiao"));String diqu = cursor.getString(cursor.getColumnIndex("diqu"));String area = cursor.getString(cursor.getColumnIndex("area"));String zhuangtai = cursor.getString(cursor.getColumnIndex("zhuangtai"));Earth p=new Earth(Eno, diwei,dikuai,dibiao,diqu,area,zhuangtai);mEarthList.add(p);}LinearLayout ll=(LinearLayout) findViewById(R.id.ll);for(Earth p:mEarthList){//1.集合中每有一条数据,就new一个TextViewTextView tv=new TextView(this);//2.把人物的信息设置为文本的内容tv.setText(p.toString());tv.setTextSize(18);//3.把TextView设置成线性布局的子节点ll.addView(tv);}}

}

好了,这部分的介绍就到这里了。下面摆几张效果图:

增:

删:

改:

查:

技术二:在Android Studio中使用下拉标签,点击标签中不同项响应不同的事件,跳转到不同的页面处理事件

这是我在进行项目开发过程中,在设计一个app的主页面时,由于不知道从何入手,在网上查阅了各种资料,最后选定了用下拉标签这种方式来做。制作下拉标签主要有两种方式,这里我选的是其中一种,运用Spinner标签,指定一个入口,然后在资源文件中指定具体的下拉标签项,代码如下:

<Spinnerandroid:id="@+id/td"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/ctype1"></Spinner>

//strings.xml

创建新土地

删除原有土地

修改土地信息

查看土地信息

这些就是主界面代码的主要内容了,下面进入后台代码的设计,主要满足点击选择不同的项后,点击OK按钮会跳转到不同的界面进行事务处理,代码如下:

package com.example.farmer;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.Spinner;

import butterknife.BindView;

import butterknife.ButterKnife;

import butterknife.OnClick;

/**

Created by littlecurl /6/24

*/

public class MainActivity extends AppCompatActivity {

private Spinner sp_choose;

private Button bt_ok;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

sp_choose = (Spinner) findViewById(R.id.td);

bt_ok = (Button) findViewById(R.id.bt_ok);

ArrayAdapter adapter = ArrayAdapter.createFromResource(

this, R.array.ctype1, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

sp_choose.setAdapter(adapter);

/**

* 一定 一定 一定记得加这句,而且是固定位置,在setContentView()之下

* 否则无论写的什么逻辑 都不会在Activity中起作用

*/

ButterKnife.bind(this);

}

@BindView(R.id.bt_main_logout)

Button mBtMainLogout;

@BindView(R.id.bt_ok)

Button mBtOK;

@OnClick({

R.id.bt_main_logout,

R.id.bt_ok

})

public void onClick(View view) {

Intent intent1=new Intent();

switch (view.getId()) {

case R.id.bt_main_logout:

Intent intent = new Intent(this, LoginActivity.class);

startActivity(intent);

finish();

break;

case R.id.bt_ok:

switch (sp_choose.getSelectedItemPosition()) {

case 0:

intent1.setClass(MainActivity.this, EarthAddActivity.class);

startActivity(intent1);

break;

case 1:

intent1.setClass(MainActivity.this, EarthDeleteActivity.class);

startActivity(intent1);

break;

case 2:

intent1.setClass(MainActivity.this, EarthUpdateActivity.class);

startActivity(intent1);

break;

case 3:

intent1.setClass(MainActivity.this, EarthShowActivity.class);

startActivity(intent1);

break;

}

}

}

}

好了,代码部分就完成了,接下来给大家看看效果图:

点击“执行功能”按钮后就会跳转到不同的界面,具体的每个界面效果图在上面已经给出来了

好了!这次的总结分享就到这里了,希望对大家能有一些帮助,希望大家都能变成一个IT技术大佬!!!

相关CSDN参考博客:

/zyx520ytt/article/details/51346886

/mr_tank_/article/details/8840038

/midnight_time/article/details/80792255

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。