BusinessTripActivity
出差的activity,实现两个fragment的切换。
package com.redcircle.redcircle;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.widget.RadioGroup;
import com.redcircle.redcircle.adapter.AllFragmentAdapter;
import com.redcircle.redcircle.fragment.EndBusinessTripFragment;
import com.redcircle.redcircle.fragment.StartBusinessTripFragment;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2015/10/16.
*/
public class BusinessTripActivity extends BaseActivity implements RadioGroup.OnCheckedChangeListener {
private StartBusinessTripFragment mFragmentStartBusiness;
private EndBusinessTripFragment mFragmentEndBusiness;
private FragmentManager mFragmentManager;
private RadioGroup mRadioGroup;
private List<BaseFragment> mFragments;
private FragmentTransaction mTransaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.business_trip_radiobutton);
mFragmentManager = getSupportFragmentManager();
mFragments = new ArrayList<>();
mFragmentStartBusiness = new StartBusinessTripFragment();
mFragmentEndBusiness = new EndBusinessTripFragment();
mFragments.add(mFragmentStartBusiness);
mFragments.add(mFragmentEndBusiness);
mRadioGroup = (RadioGroup) findViewById(R.id.radiogroup_business);
mRadioGroup.setOnCheckedChangeListener(this);
mTransaction = mFragmentManager.beginTransaction();
mTransaction.add(R.id.framelayout,mFragmentStartBusiness);
mTransaction.add(R.id.framelayout,mFragmentEndBusiness);
mTransaction.hide(mFragmentEndBusiness);
mTransaction.commit();
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
switch (checkedId){
case R.id.start_business:
mTransaction = mFragmentManager.beginTransaction();
mTransaction.hide(mFragmentEndBusiness);
mTransaction.show(mFragmentStartBusiness);
mTransaction.commit();
break;
case R.id.end_business:
mTransaction = mFragmentManager.beginTransaction();
mTransaction.hide(mFragmentStartBusiness);
mTransaction.show(mFragmentEndBusiness);
mTransaction.commit();
break;
default:
break;
}
}
}
StartBusinessTripFragment
开始出差的碎片,包括各个dialog的显示,并把数据写入数据库
package com.redcircle.redcircle.fragment;
import android.app.Dialog;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.lidroid.xutils.DbUtils;
import com.redcircle.redcircle.AppApplication;
import com.redcircle.redcircle.BaseFragment;
import com.redcircle.redcircle.BusinessTripActivity;
import com.redcircle.redcircle.R;
import com.redcircle.redcircle.sql.DbManager;
import com.redcircle.redcircle.sql.MyDbOpeanHelper;
import com.redcircle.redcircle.sql.TableConfig;
/**
* Created by Administrator on 2015/10/16.
*/
public class StartBusinessTripFragment extends BaseFragment implements View.OnClickListener{
private TextView mTextView;
private TextView mTextViewCommit;
private EditText mEditTextOrigin;
private EditText mEditTextDestination;
private EditText mEditTextOriginTask;
private RelativeLayout mRelativeLayoutLocation;
private ImageView mImageView;
private TextView textView;
private SQLiteDatabase database;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_start_business_trip,null);
mTextView = (TextView) view.findViewById(R.id.button_back_job);
mEditTextOrigin = (EditText) view.findViewById(R.id.edittext_origin);
mEditTextDestination = (EditText) view.findViewById(R.id.edittext_destination);
mEditTextOriginTask = (EditText) view.findViewById(R.id.edittext_task);
mTextViewCommit = (TextView) view.findViewById(R.id.textview_commit);
mTextViewCommit.setOnClickListener(this);
mTextView.setOnClickListener(this);
return view;
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_back_job:
getActivity().finish();
break;
case R.id.textview_commit:
dialogBusiness();
break;
default:break;
}
}
private void dialogBusiness() {
LayoutInflater inflater = LayoutInflater.from(getActivity());
View dialogView = inflater.inflate(R.layout.dialog_business, null);
final Dialog myDialog = new Dialog(getActivity(), R.style.CustomDialog);
Button button_cancel = (Button) dialogView.findViewById(R.id.button_cancel);
Button button_ok = (Button) dialogView.findViewById(R.id.button_ok);
button_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myDialog.dismiss();
}
});
button_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mEditTextOrigin.getText().toString().length()==0){
dialogPrompt();
}else if (mEditTextDestination.getText().toString().length()==0){
dialogPrompt();
textView.setText("目的地不能为空");
}else if (mEditTextOriginTask.getText().toString().length()==0){
dialogPrompt();
textView.setText("任务不能为空");
}else {
LayoutInflater inflater = LayoutInflater.from(getActivity());
View dialogView = inflater.inflate(R.layout.dialog_business_successful, null);
final Dialog myDialog2 = new Dialog(getActivity(), R.style.CustomDialog);
Button buttonOk = (Button) dialogView.findViewById(R.id.button_ok);
buttonOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myDialog2.dismiss();
}
});
myDialog2.requestWindowFeature(Window.FEATURE_NO_TITLE);
myDialog2.setContentView(dialogView);
myDialog2.show();
}
ContentValues value = new ContentValues();
value.put("origin", mEditTextOrigin.getText().toString());
value.put("destination", mEditTextDestination.getText().toString());
value.put("task", mEditTextOriginTask.getText().toString());
value.put("time", System.currentTimeMillis());
DbManager.newInstance().getDb().insert(TableConfig.TABLE_BUSINESS, null, value);
// mEditText.setText("");//添加后清空输入框
myDialog.dismiss();
}
});
myDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
myDialog.setContentView(dialogView);
myDialog.show();
}
private void dialogPrompt(){
LayoutInflater inflater = LayoutInflater.from(getActivity());
View dialogView = inflater.inflate(R.layout.dialog_business_prompt, null);
textView = (TextView) dialogView.findViewById(R.id.textview_prompt);
final Dialog myDialog = new Dialog(getActivity(), R.style.CustomDialog);
myDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
myDialog.setContentView(dialogView);
myDialog.show();
}
}
AppApplication
这是一个应用的入口,当打开某个应用时,所有的初始化都在此操作。此外,还需在manifest里面注册该application。
<application
android:name=".AppApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
package com.redcircle.redcircle;
import android.app.Application;
import android.content.Context;
import com.redcircle.redcircle.sql.DbManager;
/**
* Created by Administrator on 2015/10/10.
*/
public class AppApplication extends Application {
private static AppApplication mApplication;
@Override
public void onCreate() {
super.onCreate();
mApplication = this;
DbManager.newInstance().getDb();//数据库初始化,获得数据库实例
//程序初始化的内容
//此处放置检测新版本
//检测有无新数据
//地图初始化
//数据统计初始化
//数据库的初始化
}
public static AppApplication getApplication(){
return mApplication;
}
}
MyDbOpeanHelper
创建一个出差的表,包含四条信息
package com.redcircle.redcircle.sql;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.redcircle.redcircle.AppApplication;
/**
* Created by Administrator on 2015/10/10.
*/
public class MyDbOpeanHelper extends SQLiteOpenHelper {
public MyDbOpeanHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public MyDbOpeanHelper(){
this(AppApplication.getApplication(),"MY_RED_CIRCLE_SALSE.DB",null,1);
// super(applicationContext, s,null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
// sqLiteDatabase.execSQL("create table if not exists"+TableConfig.TABLE_WORK_DAILY+ "("+TableConfig.WorkDaily.COLUMN_ID+" integer primary key autoincrement , use_id integer,type integer,content text,time text)");
// sqLiteDatabase.execSQL("insert into"+TableConfig.TABLE_WORK_DAILY+ "(use_id,type,content,time)values(2,2,nihao,123456)");
// sqLiteDatabase.execSQL("insert into"+TableConfig.TABLE_WORK_DAILY+ "(use_id,type,content,time)values(2,2,nihao,123456)");
// sqLiteDatabase.execSQL("insert into"+TableConfig.TABLE_WORK_DAILY+ "(use_id,type,content,time)values(2,2,nihao,123456)");
sqLiteDatabase.execSQL("create table if not exists " + TableConfig.TABLE_BUSINESS + "("+TableConfig.WorkBusiness.COLUMN_ID+ " integer primary key autoincrement ,origin integer,destination integer,task integer,time integer)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
DbManager
数据库管理类,单例设计模式,保证只生成一个对象
package com.redcircle.redcircle.sql;
import android.database.sqlite.SQLiteDatabase;
import com.redcircle.redcircle.AppApplication;
/**
* Created by Administrator on 2015/10/10.
*/
public class DbManager {
//单例,简化数据库操作
private MyDbOpeanHelper helper;
private SQLiteDatabase db;
private DbManager(){
helper = new MyDbOpeanHelper();
db = helper.getWritableDatabase();
}
private static DbManager manager;
public static DbManager newInstance(){
if (manager ==null){
manager = new DbManager();
}
return manager;
}
public SQLiteDatabase getDb() {
return db;
}
}