1.來說下主程序MainActivity.java
企業建站必須是能夠以充分展現企業形象為主要目的,是企業文化與產品對外擴展宣傳的重要窗口,一個合格的網站不僅僅能為公司帶來巨大的互聯網上的收集和信息發布平臺,成都創新互聯面向各種領域:成都加固等網站設計、成都營銷網站建設解決方案、網站設計等建站排名服務。
public class MainActivity extends Activity {
private TableLayout table;
private Button select;
EmployeeDao dao = new EmployeeDao(this);
private Button add;
private Button update;
int selectedRow = 0;
int ActivityID=1;
ListEmployee list = new ArrayListEmployee();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
table = (TableLayout) this.findViewById(R.id.table);
table.setBackgroundColor(Color.GREEN);
//table.set
add = (Button) this.findViewById(R.id.add);
update = (Button) this.findViewById(R.id.update);
select = (Button) this.findViewById(R.id.select);
// 點擊查詢按鈕處理事件
// Toast.makeText(this, "已查詢過了!", Toast.LENGTH_SHORT).show();
select.setOnClickListener(new selectListener());
// 點擊添加按鈕事件處理,跳轉到另一個activity
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, AddAndUpdateActivity.class);
Bundle bundle=new Bundle();
ActivityID=1;
bundle.putInt("ID", ActivityID);
i.putExtras(bundle);
startActivity(i);
}
});
// 更新員工信息
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
i.setClass(MainActivity.this, AddAndUpdateActivity.class);
Bundle bundle=new Bundle();
ActivityID=2;
bundle.putInt("ID", ActivityID);
bundle.putInt("emID", selectedRow);
i.putExtras(bundle);
startActivity(i);
}
});
}
// 查詢信息監聽類
private class selectListener implements View.OnClickListener {
@Override
public void onClick(View v) {
list = dao.getAll();
if (list.size() != 0) {
for (int i = 0; i list.size(); i++) {
TableRow row = new TableRow(MainActivity.this);
Employee em = list.get(i);// 查找所有員工信息
// 設置行標記
row.setId(em.getId());
row.setPadding(6, 1, 6, 1);
row.setGravity(Gravity.CENTER);
row.setBackgroundColor(Color.WHITE);
TextView view1 = new TextView(MainActivity.this);
view1.setText(Integer.toString(em.getId()));
view1.setGravity(Gravity.CENTER);//文本居中
view1.setTextSize((float) 18);文本大小
view1.setTextColor(Color.RED);
view1.setPadding(10, 2, 10, 2);//邊框左、上、右、下
row.addView(view1);添加一行
TextView view2 = new TextView(MainActivity.this);
view2.setText(em.getName());
view2.setTextSize((float) 18);
view2.setPadding(10, 2, 10, 2);
row.addView(view2);
TextView view3 = new TextView(MainActivity.this);
view3.setText(Integer.toString(em.getAge()));
view3.setTextSize((float) 18);
view3.setGravity(Gravity.CENTER);
view3.setPadding(10, 2, 10, 2);
row.addView(view3);
TextView view4 = new TextView(MainActivity.this);
view4.setText(em.getPosition());
view4.setTextSize((float) 18);
view4.setPadding(10, 2, 10, 2);
row.addView(view4);
TextView view5 = new TextView(MainActivity.this);
view5.setText(em.getDepartment());
view5.setTextSize((float) 18);
view5.setPadding(10, 2, 10, 2);
row.addView(view5);
TextView view6 = new TextView(MainActivity.this);
view6.setText(em.getWorkdate());
view6.setTextSize((float) 18);
view6.setPadding(10, 2, 10, 2);
row.addView(view6);
TextView view7 = new TextView(MainActivity.this);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse(em.getWorkdate());
} catch (ParseException e) {
e.printStackTrace();
}
float d= (float)((new Date().getTime()-date.getTime())/(24*60*60*1000)/365);//計算工齡
String dd=Integer.toString((int) d+1);
view7.setText(dd);
view7.setTextSize((float) 18);
view7.setPadding(10, 2, 10, 2);
row.addView(view7);
table.addView(row);
row.setOnClickListener(new View.OnClickListener() {//點擊某行觸發事件
@Override
public void onClick(View v) {
System.out.println("行標記:" + v.getId());
for (int i = 0; i table.getChildCount(); i++) {
if (table.getChildAt(i).getId() != v.getId())
table.getChildAt(i).setBackgroundColor(Color.WHITE);
// 選中時,高亮顯示即設置背景色
v.setBackgroundColor(Color.YELLOW);
}
selectedRow = v.getId();
AlertDialog.Builder dialog = new AlertDialog.Builder(
MainActivity.this);
dialog.setTitle("請確認:");
dialog.setMessage("是否刪除這條記錄?");
dialog.setPositiveButton("確定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,int which) {
EmployeeDao dao = new EmployeeDao(MainActivity.this);
dao.delete(selectedRow);
Toast.makeText(MainActivity.this,
"刪除成功", Toast.LENGTH_SHORT).show();
Intent i = new Intent();
i.setClass(MainActivity.this,MainActivity.class);
startActivity(i);
}
});
dialog.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
dialog.cancel();
} });
dialog.show();
}
});
}
}
}
}
}
2.然后是添加和更新的界面,兩個功能使用同一個xml文件布局
RelativeLayout
android:background="#2691f2"
tools:context=".AddAndUpdateActivity"
TextView
android:id="@+id/t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="25sp"
android:text="@string/addinfo"
android:textColor="#bc4b86" /
LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/t"
android:orientation="vertical"
TextView
android:layout_width="wrap_content"
android:layout_height="30dp" /
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name" /
EditText
android:id="@+id/nm"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/age" /
EditText
android:id="@+id/ag"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/position" /
EditText
android:id="@+id/pzs"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/dptmt" /
EditText
android:id="@+id/dptmt"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp" /
/LinearLayout
LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/date" /
EditText
android:id="@+id/wkdt"
android:inputType="text"
android:layout_width="150dp"
android:layout_height="wrap_content" /
/LinearLayout
TextView
android:layout_width="wrap_content"
android:layout_height="20dp" /
Button
android:id="@+id/addnew"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:text="@string/add"
/Button
/LinearLayout
/RelativeLayout
我沒有做過類似的開發,不過那個文本框應該是一個類吧,這樣的話里面應該有相應的方法對回車進行響應,重寫這個方法就好了
希望能幫到你
我也是搞手機交互開發的,一般手機端POST數據到服務器端(如:PHP),然后由服務器端處理數據存入數據庫。
就想當HTML頁面提交數據到PHP然后存入數據庫是一樣的道理。
android、iPhone等都一樣道理。
1、在android中找到后臺接口//userController.java,前端接收一個usersReportd對象。
2、舉報頁面包含一個form表單,其中有一個picker組件用于選擇舉報的原因,一個textarea組件用于輸入用戶舉報描述,一個submitReport方法提交表單信息即可舉報賬號。
1.服務器端的準備
為了完成該實例,我們需要在服務器端做以下準備工作:
(1)我們需要在MyEclipse中創建一個Web工程,用來模擬服務器端的Web服務,這里,我將該工程命名為了“myhttp”。
(2)修改該工程的“index.jsp”文件,添加兩個輸入框和一個提交按鈕,作為該Web工程的顯示頁面。運行Tomcat,在瀏覽器中訪問該Web工程,可以看到如圖1所示的界面。
Web工程的顯示頁面
(3)在該Web工程中,創建一個繼承自HttpServlet的LoginAction類,并實現其中的doPost()方法,用來響應圖1所示頁面的用戶操作。具體實現如下:
由上述代碼可以看出,當我們在圖1所示的頁面輸入用戶名“admin”,密碼“123”時,點擊提交按鈕,會得到“Login succeeded!”的提示信息,如圖2所示。若用戶名、密碼錯誤,則會得到“Login failed!”的提示信息。
2.客戶端實現
在Android客戶端,我們需要完成的工作是:以POST方式發送用戶名密碼到上述服務器,并獲得服務器的驗證信息。
我們分以下幾個步驟來完成。
2.1 UI界面
在Android工程中,我們需要完成一個簡單的UI界面,用來完成用戶名密碼的輸入、發送POST請求、顯示服務器的驗證結果,完成后的界面如圖3所示。
在MainActivity中,我們需要獲取兩個EditText控件的輸入,“提交”按鍵的監聽,以及服務器驗證結果的TextView內容顯示。具體實現代碼如下:
2.2發送POST請求到服務器
可以看到上述代碼中,我們調用了HttpUtils類的靜態方法submitPostData()完成了發送POST請求到服務器,并將該方法的返回值(服務器的響應結果)顯示在了TextView控件中。
通過以上的代碼可以看出,在該方法中,其實完成了3件事:
(1)將用戶名密碼封裝成請求體,這是通過調用getRequestData()方法來實現的(后面會講到這個方法的具體實現)。
(2)設置HttpURLConnection對象的各種參數(其實是設置HTTP協議請求體的各項參數),然后通過httpURLConnection.getOutputStream()方法獲得服務器輸出流outputStream,再使用outputStream.write()方法將請求體內容發送給服務器。
(3)判斷服務器的響應碼,通過httpURLConnection.getInputStream()方法獲得服務器的響應輸入流,然后再調用dealResponseResult()方法處理服務器的響應結果。
2.3封裝請求體
使用POST請求時,POST的參數不是放在URL字符串里,而是放在HTTP請求數據中,所以我們需要對POST的參數進行封裝。
針對該實例而言,我們發送的URL請求是:,但是我們需要將POST的參數(也就是username和password)封裝到該請求中,形成如下的形式:
2.4處理響應結果
最后,我們再來看一看對服務器返回結果的處理是怎樣的。因為在本實例中,服務器的返回結果是字符串“Login succeeded!”或“Login failed!”,所以這里我們需要做的就是將服務器的返回結果輸入流轉化成字符串。當然了,如果服務器返回的是圖片,那么,我們就需要就得到的輸入流轉化成Bitmap圖片了。如下代碼是上面代碼中用到的dealResponseResult()方法的具體實現。
2.5運行效果
你是做web開發的吧?
問題要發到 電腦/網絡—軟件開發—移動開發下比較準確。
android上是沒有form表單的概念的,通常用listView列表來顯示。
前幾天給別人寫了一個這樣的demo,如果有需要,可以留下郵箱發給你
本文名稱:android表單,android表單框架
文章起源:http://vcdvsql.cn/article4/dsdggie.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、微信小程序、網站內鏈、網站維護、軟件開發、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯