今天,我做了一元旦app,虽然不是很大气,如果刚学Android的人,可以尝试做一个哦,我的app包括两部分,1界面登录部分,2祝福显示部分!
1界面登录部分,采用xutils数据库的方式,2,界面显示将上个UI页面的用户名保存传到该界面加上自己写好的字一起显示
具体实现如下:
1,对于mainactivity.xml
2,对于MainActivity相关的一些东西
第一步:导包xutils包
第二步:权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
第三步 写数据库映射表
package com.example.login;
import org.xutils.db.annotation.Column;
import org.xutils.db.annotation.Table;
@Table (name="Login")---------------------------------------------xutil中的格式----------------表名(登录)
public class Xutils_db {
@Column(name="id",isId=true,autoGen=true)----------------------------------------第一列id号
private int id;
@Column(name="useName")-------------------------------第二列用户名
private String useName;
@Column(name="pasword")----------------------------第三列密码
private String pasword;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUseName() {
return useName;
}
public void setUseName(String useName) {
this.useName = useName;
}
public String getPasword() {
return pasword;
}
public void setPasword(String pasword) {
this.pasword = pasword;
}
}
第四步:建数据库------------------------在application中写(一定要在manifest.xml中写上application名字)
<application android:name=".UseApplication"
package com.example.login;
import java.io.File;
import org.xutils.DbManager;
import org.xutils.DbManager.DaoConfig;
import org.xutils.x;
import android.app.Application;
import android.os.Environment;
public class UseApplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
x.Ext.init(this);-----------------------------------------------不能少
x.Ext.setDebug(BuildConfig.DEBUG);----------------------------------------不能少
}
static DbManager.DaoConfig daoConfig;
// 获得数据库的方法
public static DaoConfig getDaoConfig(){//数据库存放的位置
File file=new File(Environment.getExternalStorageDirectory().getPath());
if(daoConfig==null)
{daoConfig=new DbManager.DaoConfig().setDbName("dddd.db")
.setDbDir(file)
.setDbVersion(1)
.setAllowTransaction(true);
}
return daoConfig;
}
}
第五步,第一个页面的书写
package com.example.login;
import java.net.HttpURLConnection;
import java.net.URL;
import org.xutils.DbManager;
import org.xutils.x;
import org.xutils.DbManager.DaoConfig;
import org.xutils.ex.DbException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
EditText edPassword;-----------------------密码(用户进行输入)
EditText edName;--------------------------用户名(用户进行输入)
Button login;-------------登录
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,WindowManager.LayoutParams. FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);-----------------------除去标题(设置全屏)
setContentView(R.layout.activity_main);
edName=(EditText) findViewById(R.id.ed_name);
edPassword=(EditText) findViewById(R.id.password);
login=(Button) findViewById(R.id.button1);
}
public void loginOnclick(View view){
if((TextUtils.isEmpty(edName.getText()))||(TextUtils.isEmpty(edName.getText()))){
Toast.makeText(MainActivity.this, "不得为空", Toast.LENGTH_SHORT).show();
}-------------------------------------------------------------------------------------------------用户输入的不能为空
Passwordlan login_N_p=new Passwordlan();
login_N_p.insert();
if(((edName.getText().toString().equals(login_N_p.NAME))&&(edPassword.getText().toString().equals(login_N_p.PASSWORD))))
{
System.out.println("输入正确");
Intent intent=new Intent(MainActivity.this,OtherActivity.class);
intent.putExtra("祝福",edName.getText().toString() ) ;
startActivity(intent);
}
System.out.println("请重新输入");---------------------------------------------------------如果输入账号密码输入正确就可以进行页面跳转,而且将用户名传到第二个页面中去
}
public class Passwordlan {
DaoConfig daoConfig=UseApplication.getDaoConfig();
DbManager db=x.getDb(daoConfig);
String PASSWORD="2017520";--------------------------------密码固定位2017520(2017年我爱你)
String NAME=edName.getText().toString();----------------------------用户名和用户写的用户名一致
protected void insert(){
Xutils_db login=new Xutils_db();
login.setPasword(PASSWORD);
login.setUseName(NAME);--------------------------------将用户名和密码存储在数据库中
try {
db.save(login);-----------------------保存
System.out.println("账号"+login.getUseName()+"密码"+login.getPasword());
System.out.println("zhixinga");
System.out.println(db);
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
第二个页面
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,WindowManager.LayoutParams. FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);-------------------------设置全屏且一定要在layout的前面写
setContentView(R.layout.otheractivity);
name=(TextView) findViewById(R.id.textView1);
Intent intent =getIntent();
/*取出Intent中附加的数据*/
String line=intent.getStringExtra("祝福");
name.setText("刘燕君祝"+line+"元旦快乐,幸福嗨皮每一天!");