android追加數據
1. android 數組添加數據
追加一個 數 之後再 執行一下 排序 就可以了 參考 排序 方法 ArrayList arr=new ArrayList(); int Temp;arr.Add(..).... for(int i=0;i<N;i++) { for(int j=0;j<N-i-1;j++) { if(int.Parse(arr[j+1])<int.Parse(arr[j])) { Temp=int.Parse(arr[j+1]); arr[j+1]=int.Parse(arr[j]); arr[j]=Temp; } } }
2. Android gridview動態添加一條數據,並且是放在第一個的位置,求大神分享下
gridview的adapter數據源是一個list,然後你想添加的時候用list.add(0,數據)把數據添加到第一個位置,然後adapter在notify一下就行了
3. android中,把data填上數據,在map中添加資料庫中的數據,用listview顯示。
第一種:
String[] data = {"Android應用專業開發社區:eoe.Android.com",
"eoeAndroid出品軟體如下",
"eoeIntaller",
"eoeDouBan",
"eoeWhere",
"eoeInfoAssistant"};
ListView listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data));
第二種:(自定義界面)
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
Map<String, Object> item ;
item = new HashMap<String, Object>();
item.put("姓名", "張三小朋友");
item.put("性別", "男");
data.add(item);
item = new HashMap<String, Object>();
item.put("姓名", "小李師傅");
item.put("性別", "男");
data.add(item);
item = new HashMap<String, Object>();
item.put("姓名", "王五同學");
item.put("性別", "女");
data.add(item);
ListView listView = new ListView(this);
SimpleAdapter adapter = new SimpleAdapter(
this, data,
R.layout.activity_list2,
new String[]{"姓名","性別"},
new int[]{R.id.list2_1,R.id.list2_2});
listView.setAdapter(adapter);
4. android開發,向listView添加數據,要求序號從1開始自動增加,刪除其中一條自減怎麼實現
按照我對問題的理解,解決方法如下:
在ListView的adapter中的getView()方法里給序號賦值就可以了,getView()方法不是有個int型參數是position嘛,你給序號賦值為position+1就可以了。不管你像listview添加數據還是刪除數據,總是要重新刷新adapter的,只要刷新adapter就會走getView()方法,就能更新序號了。
不知道是不是你想要的回答。
5. Android 怎樣在應用程序中向文件里寫入數據
Android 怎樣在應用程序中向文件里寫入數據?在AndroidManifest.xml中添加, <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />,解決!
另外了解一下android的數據存儲方式:文件流的讀取,sqlite,Content Provider以及Preference.。 註:resource和assets中的文件用戶方面是只可以讀取不能夠進行寫的操作的。
Content Provider作為程序之間唯一共享數據途徑,用在這里不是很合適。所以,
第一種方式,使用FileInputStream,FileOutputStreami類實現文件I/O操作,直接往手機中存儲數據。
第二種方式,使用SQLite,通過SQLiteDatabase類中方法操作數據。
第三種方式,Preference用於存儲簡單數據類型的數據,一些設置信息的保存。個人認為用在這里最合適。 它利用鍵值對存儲的。例:
存儲:SharedPreferences.Editor editor =sp.edit();
editor.putString(KEY_TEXT,"yonghu");
editor.commit();
獲取 :sp =getPreferences(MODE_PRIVATE);String result =sp.getString(KEY_TEXT,null)
Android保存數據幾種常用方法解析
它應用於手機中能夠幫助我們實現許多需求。比如今天為大家介紹的Android保存數據,就是其中一個比較重要的操作技巧。Android組件相關概念總結Android傳值方法細講Android橫豎屏切換正確實現方式分享Android開發環境相關配置概覽Android NDK具體作用講解對於我們所熟悉的大部分軟體都有一個比較典型的特點,應用現有的數據根據不同的需求來得到相應的結果。例如,我們最常用的Officeword、Excel、PowerPoint等辦公軟體,它們都是幫助我們完成某種特定的需求,同時由其所產生的數據或者文檔又可以被其它軟體所讀取和做進一步的優化等等,在這個層面上可以看成是這些軟體通過相同的文件標准來共享數據。但是對於Android最大的不同點在於,其平台上的應用軟體所存儲的數據或者文件是私有,僅僅可以通過它自身才可以訪問其所包含的數據資源。那麼基於這樣的限制,該如何在Android平台上實現不同程序間的數據共享呢?答案非常簡單 – 應用ContentProviders,這是建立在Android平台上用於定義統一的數據標准。Android提供了針對不同數據類型的ContentProviders來滿足各種需要。例如:Image、Audio、Video和通訊錄信息類等。閱讀下邊的文檔之前,最好先熟悉Content Providers的概念。有了上邊所提到Content Providers,接下來就要處理在共享文件過程中的存儲環節了,這里有四種方法分別適用於不同情況的需求。它們都各自有相應的優缺點,所以當開發者決定選擇應用哪種方法之前,先要考慮當前所操作的情況是否適合於所選擇的方法。Preferences Files Databases Network 接下來將依次介紹上訴四個Android保存數據方法:Preferences從其保存數據的結構來分析,這是一個相對較輕量級的存儲數據的方法。類似於我們常用的ini文件保存軟體初始化設置,同樣在Android平台常用於存儲較簡單的參數設置。例如,可以通過它保存上一次用戶所作的修改或者自定義參數設定,當再次啟動程序後依然保持原有的設置。通過Context.getSharedPreferences()方法來讀寫數值,這個方法通過設置name來使得同一個程序內的其它模塊共享數據。如果不需要與其它模塊共享數據,可以使用Activity.getPreferences()方法保持數據私有。需要著重強調一點,無法直接在多個程序間共享Preferences數據(不包括使用Content Providers)。通過一個實例來了解實際使用方法:import android.app.Activity; import android.content.SharedPreferences; public class Calc extends Activity { public static final String PREFS_NAME = "MyPrefsFile"; . . . . Override protected void onCreate(Bundle state){ super.onCreate(state); . . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean silent = settings.getBoolean("silentMode", false); setSilent(silent); } @Override protected void onStop(){ super.onStop(); // Save user preferences. We need an Editor object to // make changes. All objects are from android.context.Context SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("silentMode", mSilentMode); // Don't forget to commit your edits!!! editor.commit(); } } Files從這是第二種方法,可以在設備本身的存儲設備或者外接的存儲設備中創建用於保存數據的文件。同樣在默認的狀態下,文件是不能在不同的程序間共享。寫文件:調用Context.openFileOutput()方法根據指定的路徑和文件名來創建文件,這個方法會返回一個FileOutputStream對象。讀取文件:調用Context.openFileInput()方法通過制定的路徑和文件名來返回一個標準的java FileInputStream對象。
(注意:在其它程序中將無法應用相同的路徑和文件名來操作文件)另外編譯程序之前,在res/raw/tempFile中建立一個static文件,這樣可以在程序中通過Resources.openRawResource (R.raw.myDataFile)方法同樣返回一個InputStream對象,直接讀取文件內容。Databases在Android API中包括了應用SQLite databases的介面,每個程序所創建的資料庫都是私有的,換句話說,程序間無法相互訪問對方的資料庫。在程序中創建SQLiteDatabase對象,其中包含了大部分與database交互的方法,例如:讀取數據或者管理當前數據。可以應用SQLiteDatabase和其subClassSQLiteOpenHelper的create()方法來創建新的資料庫。對於SQLitedatabase而言,其強大和方便的功能為Android提供了強有力的存儲功能。特別是存儲一些復雜的數據結構,例如:Android特別為通訊錄創建了特有的數據類型,其中包含了非常多的子集而且涵蓋了大部分的數據類型 「First Name」 「Last Name」 「PhoneNumber」和「Photo」等。Android可以通過Sqlite3 database tool來查看指定資料庫中表的內容,直接運行SQL命令來快速便捷的直接操作SQLite database。
6. android 怎麼往資料庫裡面添加數據
一、引入
資料庫創建的問題解決了,接下來就該使用資料庫實現應用程序功能的時候了。基
本的操作包括創建、讀取、更新、刪除,即我們通常說的 CRUD(Create, Read, Update, Delete)。
在實現這些操作的時候,我們會使用到兩個比較重要的類 SQLiteDatabase 類和 Cursor 類。
二、創建表
1,execSQL(String sql):執行一條 sql 語句,且執行操作不能為 SELECT
因為它的返回值為 void,所以推薦使用 insert、update 方法等
2.,execSQL (String sql,Object[] bindArgs)
sql:執行一條 sql 語句
bindArgs:為 sql 語句中的?賦值
三、添加數據
1、execSQL(String sql)
2、使用對象的 insert 方法
ContentValues values = new ContentValues();
values.put(USERNAME, user.getUsername());
values.put(PASSWORD, user.getPassword());
db.insert(TABLE_NAME, null, values);
參數:
table:資料庫中的表名
nullColumnHack:指定默認插入欄位,為 null 時能插入數據
values:表示插入欄位所對應的值,使用 put 方法。
四、刪除數據
1、execSQL(String sql)
2、使用對象的 delete 方法
String whereClaues="_id=?";
String [] whereArgs={String.valueOf(id)};
//db.delete(TABLE_NAME, "_id="+id, null);
db.delete(TABLE_NAME, whereClaues, whereArgs);
參數
table:資料庫的表名
whereClause:where 子句,比如:_id=?
whereArgs:where 子句中?的值
五、修改數據
1、execSQL(String sql)
2、使用對象的 delete 方法
ContentValues values = new ContentValues();
values.put(USERNAME, user.getUsername());
values.put(PASSWORD, user.getPassword());
String whereClaues="_id=?";
String [] whereArgs={String.valueOf(user.getId())};
db.update(TABLE_NAME, values, whereClaues, whereArgs);
參數
table:資料庫的表名
values:代表要修改的值,修改方法還是 put(key,values)
whereClause:條件子句,比如 id=?,name=?
whereArgs:為 whereClause 中的?賦值,比如:new String[]{"1","張三"}
圖:
參考代碼:
程序內使用SQLite資料庫是通過SQLiteOpenHelper進行操作
1.自己寫個類繼承SQLiteOpenHelper,重寫以下3個方法
publicvoidonCreate(SQLiteDatabasedb)
{//創建資料庫時的操作,如建表}
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)
{
//版本更新的操作
}
2.通過SQLiteOpenHelper的getWritableDatabase()獲得一個SQLiteDatabase資料庫,以後的操作都是對SQLiteDatabase進行操作。
3.對得到的SQLiteDatabase對象進行增,改,刪,查等操作。
代碼
packagecx.myNote;
importandroid.content.ContentValues;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.database.sqlite.SQLiteOpenHelper;
//DBOptionsforlogin
publicclassDBOptions{
privatestaticfinalStringDB_NAME="notes.db";
privatestaticfinalStringDB_CREATE="createtablelogininf(nametext,pwdtext)";
{
publicDBHelper(Contextcontext){
super(context,DB_NAME,null,1);
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
//TODOAuto-generatedmethodstub
//建表
db.execSQL(DB_CREATE);
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
//TODOAuto-generatedmethodstub
db.execSQL("droptableifexistslogininf");
onCreate(db);
}
}
privateContextcontext;
privateSQLiteDatabasedb;
privateDBHelperdbHelper;
publicDBOptions(Contextcontext)
{
this.context=context;
dbHelper=newDBHelper(context);
db=dbHelper.getReadableDatabase();
}
//自己寫的方法,對資料庫進行操作
publicStringgetName()
{
Cursorcursor=db.rawQuery("selectnamefromlogininf",null);
cursor.moveToFirst();
returncursor.getString(0);
}
publicintchangePWD(StringoldP,Stringpwd)
{
ContentValuesvalues=newContentValues();
values.put("pwd",pwd);
returndb.update("logininf",values,"pwd="+oldP,null);
}
}
insert方法插入的一行記錄使用ContentValus存放,ContentValues類似於Map,它提供了put(String key, Xxx value)(其中key為數據列的列名)方法用於存入數據、getAsXxxx(String key)方法用於取出數據
7. android如何給listview添加動態載入數據
更改你所提供的數據的集合,然後刷新一下
adapter.notifyDataSetChanged();
ok了,,
8. android中arrylist插入數據到第一個位置
如果arraylist不為null,則可以直接調用
add(0,element)
以下為Arraylist api26 源碼
publicvoidadd(intindex,Eelement){
if(index>size||index<0)
(outOfBoundsMsg(index));
ensureCapacityInternal(size+1);//IncrementsmodCount!!
System.array(elementData,index,elementData,index+1,
size-index);
elementData[index]=element;
size++;
}
可以看到add方法會判斷index不大於size,結合
add(0,element)
也就是size>=0,就會自動擴容,將舊的數據依次排到後面。
9. Android的分布顯示怎麼把從網路獲取到的數據追加到ListView的最後面。綁定數據是用一個SimpleAdapter
一般你的視圖適配器還有一個類似於List的存儲數據List
通過把數據添加到List,然後調用適配器的一個方法通知視圖更新
adapter.notifyDataSetChanged();
10. android listview 怎麼添加數據
是添加還是填充,填充的話用adapter填充,添加的話,在list.add添加數據後,用adapter.notifyDataSetChanged();來刷新就行