作者共發了13篇帖子。
![]() |
用sharedpreference
|
![]() |
sp = context.getSharedPreferences("ArslanbarPreferences", Context.MODE_PRIVATE);
|
![]() |
這就比存入普通文件安全多了,也簡單多了
至少不用訪問內存卡 也不用擔心其他程序能讀取數據造成安全隱患 |
![]() |
public static void makeToast(String text, int duration) {
Toast.makeText(context, text, duration).show(); } public static void makeToast(String text) { makeToast(text, Toast.LENGTH_SHORT); } public static void makeToast(int stringId) { makeToast(res.getString(stringId)); } |
![]() |
public static void showNumberDialog(String title, String content, int number) {
ViewGroup parent = null; View view = getLayoutInflater().inflate(R.layout.input_number, parent); TextView tv = (TextView)view.findViewById(R.id.text); tv.setText(content); final EditText et = (EditText)view.findViewById(R.id.number); et.setText(number + ""); Dialog dlg = new AlertDialog.Builder(context) .setTitle(title) .setView(view) .setPositiveButton(res.getString(R.string.button_OK), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub listener.text = et.getText().toString(); listener.number = Integer.parseInt(listener.text); listener.onOK(); listener = null; } }) .setNegativeButton(res.getString(R.string.button_cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub listener.text = et.getText().toString(); listener.number = Integer.parseInt(listener.text); listener.onCancel(); listener = null; } }) .create(); dlg.show(); } |
![]() |
showNumberDialog取消了listener參數
|
![]() |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.arslanbar.LoginActivity" > <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="16dp" android:layout_marginTop="32dp" android:text="@string/title_activity_login" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/login_username" /> <EditText android:id="@+id/user_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" > <requestFocus /> </EditText> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="@string/login_password" /> <EditText android:id="@+id/user_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" /> <RelativeLayout android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:text="@string/button_OK" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button1" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/button1" android:layout_toEndOf="@+id/button1" android:text="@string/button_cancel" /> </RelativeLayout> </LinearLayout> |
![]() |
network.URLParams = "query=login";
network.params.add(new BasicNameValuePair("UserName", userName)); network.params.add(new BasicNameValuePair("Password", App.MD5(password))); network.handler = new networkHandler(); network.send(); |
![]() |
BasicNameValuePair
|
![]() |
我覺得還是UserKey 制度比較好,不該用Session+UserKey制度
|