成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

android表單,android表單框架

android平板 怎么設(shè)計(jì)好看的表單

1.來(lái)說下主程序MainActivity.java

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都加固網(wǎng)站設(shè)計(jì)、成都營(yíng)銷網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。


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

// 點(diǎn)擊查詢按鈕處理事件

// Toast.makeText(this, "已查詢過了!", Toast.LENGTH_SHORT).show();

select.setOnClickListener(new selectListener());

// 點(diǎn)擊添加按鈕事件處理,跳轉(zhuǎn)到另一個(gè)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);

}

});

}

// 查詢信息監(jiān)聽類

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);// 查找所有員工信息

// 設(shè)置行標(biāo)記

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);//計(jì)算工齡

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() {//點(diǎn)擊某行觸發(fā)事件

@Override

public void onClick(View v) {

System.out.println("行標(biāo)記:" + v.getId());

for (int i = 0; i table.getChildCount(); i++) {

if (table.getChildAt(i).getId() != v.getId())

table.getChildAt(i).setBackgroundColor(Color.WHITE);

// 選中時(shí),高亮顯示即設(shè)置背景色

v.setBackgroundColor(Color.YELLOW);

}

selectedRow = v.getId();

AlertDialog.Builder dialog = new AlertDialog.Builder(

MainActivity.this);

dialog.setTitle("請(qǐng)確認(rèn):");

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.然后是添加和更新的界面,兩個(gè)功能使用同一個(gè)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

Android瀏覽器點(diǎn)擊確定會(huì)自動(dòng)提交表單的問題

我沒有做過類似的開發(fā),不過那個(gè)文本框應(yīng)該是一個(gè)類吧,這樣的話里面應(yīng)該有相應(yīng)的方法對(duì)回車進(jìn)行響應(yīng),重寫這個(gè)方法就好了

希望能幫到你

要把a(bǔ)ndroid手機(jī)軟件表單中中輸入的數(shù)據(jù)存入服務(wù)器端的數(shù)據(jù)庫(kù)(比如Mysql之類的)里面應(yīng)該怎樣設(shè)計(jì)啊!急!

我也是搞手機(jī)交互開發(fā)的,一般手機(jī)端POST數(shù)據(jù)到服務(wù)器端(如:PHP),然后由服務(wù)器端處理數(shù)據(jù)存入數(shù)據(jù)庫(kù)。

就想當(dāng)HTML頁(yè)面提交數(shù)據(jù)到PHP然后存入數(shù)據(jù)庫(kù)是一樣的道理。

android、iPhone等都一樣道理。

android 舉報(bào)賬號(hào)功能的實(shí)現(xiàn)

1、在android中找到后臺(tái)接口//userController.java,前端接收一個(gè)usersReportd對(duì)象。

2、舉報(bào)頁(yè)面包含一個(gè)form表單,其中有一個(gè)picker組件用于選擇舉報(bào)的原因,一個(gè)textarea組件用于輸入用戶舉報(bào)描述,一個(gè)submitReport方法提交表單信息即可舉報(bào)賬號(hào)。

android客戶端如何提交表單數(shù)據(jù)給web服務(wù)器

1.服務(wù)器端的準(zhǔn)備

為了完成該實(shí)例,我們需要在服務(wù)器端做以下準(zhǔn)備工作:

(1)我們需要在MyEclipse中創(chuàng)建一個(gè)Web工程,用來(lái)模擬服務(wù)器端的Web服務(wù),這里,我將該工程命名為了“myhttp”。

(2)修改該工程的“index.jsp”文件,添加兩個(gè)輸入框和一個(gè)提交按鈕,作為該Web工程的顯示頁(yè)面。運(yùn)行Tomcat,在瀏覽器中訪問該Web工程,可以看到如圖1所示的界面。

Web工程的顯示頁(yè)面

(3)在該Web工程中,創(chuàng)建一個(gè)繼承自HttpServlet的LoginAction類,并實(shí)現(xiàn)其中的doPost()方法,用來(lái)響應(yīng)圖1所示頁(yè)面的用戶操作。具體實(shí)現(xiàn)如下:

由上述代碼可以看出,當(dāng)我們?cè)趫D1所示的頁(yè)面輸入用戶名“admin”,密碼“123”時(shí),點(diǎn)擊提交按鈕,會(huì)得到“Login succeeded!”的提示信息,如圖2所示。若用戶名、密碼錯(cuò)誤,則會(huì)得到“Login failed!”的提示信息。

2.客戶端實(shí)現(xiàn)

在Android客戶端,我們需要完成的工作是:以POST方式發(fā)送用戶名密碼到上述服務(wù)器,并獲得服務(wù)器的驗(yàn)證信息。

我們分以下幾個(gè)步驟來(lái)完成。

2.1 UI界面

在Android工程中,我們需要完成一個(gè)簡(jiǎn)單的UI界面,用來(lái)完成用戶名密碼的輸入、發(fā)送POST請(qǐng)求、顯示服務(wù)器的驗(yàn)證結(jié)果,完成后的界面如圖3所示。

在MainActivity中,我們需要獲取兩個(gè)EditText控件的輸入,“提交”按鍵的監(jiān)聽,以及服務(wù)器驗(yàn)證結(jié)果的TextView內(nèi)容顯示。具體實(shí)現(xiàn)代碼如下:

2.2發(fā)送POST請(qǐng)求到服務(wù)器

可以看到上述代碼中,我們調(diào)用了HttpUtils類的靜態(tài)方法submitPostData()完成了發(fā)送POST請(qǐng)求到服務(wù)器,并將該方法的返回值(服務(wù)器的響應(yīng)結(jié)果)顯示在了TextView控件中。

通過以上的代碼可以看出,在該方法中,其實(shí)完成了3件事:

(1)將用戶名密碼封裝成請(qǐng)求體,這是通過調(diào)用getRequestData()方法來(lái)實(shí)現(xiàn)的(后面會(huì)講到這個(gè)方法的具體實(shí)現(xiàn))。

(2)設(shè)置HttpURLConnection對(duì)象的各種參數(shù)(其實(shí)是設(shè)置HTTP協(xié)議請(qǐng)求體的各項(xiàng)參數(shù)),然后通過httpURLConnection.getOutputStream()方法獲得服務(wù)器輸出流outputStream,再使用outputStream.write()方法將請(qǐng)求體內(nèi)容發(fā)送給服務(wù)器。

(3)判斷服務(wù)器的響應(yīng)碼,通過httpURLConnection.getInputStream()方法獲得服務(wù)器的響應(yīng)輸入流,然后再調(diào)用dealResponseResult()方法處理服務(wù)器的響應(yīng)結(jié)果。

2.3封裝請(qǐng)求體

使用POST請(qǐng)求時(shí),POST的參數(shù)不是放在URL字符串里,而是放在HTTP請(qǐng)求數(shù)據(jù)中,所以我們需要對(duì)POST的參數(shù)進(jìn)行封裝。

針對(duì)該實(shí)例而言,我們發(fā)送的URL請(qǐng)求是:,但是我們需要將POST的參數(shù)(也就是username和password)封裝到該請(qǐng)求中,形成如下的形式:

2.4處理響應(yīng)結(jié)果

最后,我們?cè)賮?lái)看一看對(duì)服務(wù)器返回結(jié)果的處理是怎樣的。因?yàn)樵诒緦?shí)例中,服務(wù)器的返回結(jié)果是字符串“Login succeeded!”或“Login failed!”,所以這里我們需要做的就是將服務(wù)器的返回結(jié)果輸入流轉(zhuǎn)化成字符串。當(dāng)然了,如果服務(wù)器返回的是圖片,那么,我們就需要就得到的輸入流轉(zhuǎn)化成Bitmap圖片了。如下代碼是上面代碼中用到的dealResponseResult()方法的具體實(shí)現(xiàn)。

2.5運(yùn)行效果

android能根據(jù)json動(dòng)態(tài)生成一個(gè)form表單嗎?

你是做web開發(fā)的吧?

問題要發(fā)到 電腦/網(wǎng)絡(luò)—軟件開發(fā)—移動(dòng)開發(fā)下比較準(zhǔn)確。

android上是沒有form表單的概念的,通常用listView列表來(lái)顯示。

前幾天給別人寫了一個(gè)這樣的demo,如果有需要,可以留下郵箱發(fā)給你

本文名稱:android表單,android表單框架
文章起源:http://jinyejixie.com/article4/dsdggie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、微信小程序、網(wǎng)站內(nèi)鏈網(wǎng)站維護(hù)、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
涿州市| 嵩明县| 社会| 曲阜市| 玛多县| 滦平县| 牡丹江市| 潮州市| 政和县| 巴林左旗| 大荔县| 罗定市| 阳泉市| 若尔盖县| 双峰县| 铜陵市| 平乐县| 马边| 松滋市| 留坝县| 灵丘县| 泰宁县| 高要市| 聂拉木县| 舒兰市| 灯塔市| 梁平县| 甘孜| 淮北市| 阳高县| 东城区| 基隆市| 镇雄县| 宕昌县| 通山县| 灵璧县| 万全县| 宣汉县| 牡丹江市| 阿拉尔市| 冷水江市|