版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Android總結(jié) 孫沛林代碼模板xml布局TextView <TextView android:id="+id/tv_color" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文本" android:textSize="22sp" />EditText <EditText android:id="+id/ed_url" andr
2、oid:lines="3" android:layout_width="match_parent" android:layout_height="wrap_content" />Button <Button android:id="+id/btn" android:text="卸載" android:textColor="#fff" android:textSize="14sp" android:layout_width="66dp&
3、quot; android:layout_height="30dp" android:background="drawable/btn_selector" android:layout_marginRight="5dp"/> <Button android:id="+id/btn" android:text="按鈕" android:textColor="#000" android:textSize="14sp" android:layout_
4、width="wrap_content" android:layout_height="wrap_content" android:onClick="btnClick" /> public void btnClick(View v) if (v.getId() = R.id.btn) ImageView <ImageView android:id="+id/logo" android:src="drawable/ic_10" android:layout_width="70
5、dp" android:layout_height="70dp" />圖片最小寬高(minWidth, minHeight) <ImageView android:id="+id/img_item" android:minWidth="50dp" android:minHeight="50dp" android:src="drawable/default_image" android:layout_width="wrap_content" android
6、:layout_height="wrap_content"/>ListView <ListView android:id="+id/lv_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:listSelector="drawable/item_selector" />SearchView搜索框 <item android:id="+id/b
7、tn_search" android:title="搜索" android:icon="drawable/title_search_normal" android:showAsAction="ifRoom|collapseActionView" android:actionViewClass="android.widget.SearchView"/>設(shè)置搜索框 MenuItem miSearch = menu.findItem(R.id.btn_search); miSearch.setOnActi
8、onExpandListener(new MenuItem.OnActionExpandListener() Override public boolean onMenuItemActionExpand(MenuItem item) / 展開(kāi) return true; Override public boolean onMenuItemActionCollapse(MenuItem item) / 折疊 updateData();/ 更新數(shù)據(jù) return true; ); / 搜索框 sv = (SearchView) miSearch.getActionView(); sv.setSubm
9、itButtonEnabled(true);/ 顯示按鈕 sv.setOnQueryTextListener(this);/ 點(diǎn)擊"提交按鈕"事件Manifest清單文件權(quán)限 <!- 訪問(wèn)互聯(lián)網(wǎng)-> <uses-permission android:name="android.permission.INTERNET" /> <!- 寫(xiě)入外置設(shè)備-> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
10、/> <!- 可以建立和刪除文件與文件夾-> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>強(qiáng)制豎屏+隱藏輸入法 <activity android:name=".WeixinActivity" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|stateAlwaysHidde
11、n" android:label="string/title_activity_weixin" >java代碼Toast Toast.makeText(this,"",Toast.LENGTH_SHORT).show();顯示Toast public static Context context; public static void init(Context cxt) context = cxt; /* * 短時(shí)間顯示Toast */ public static void show(String msg) Toast.makeText(
12、context, msg, Toast.LENGTH_SHORT).show(); Adapterpublic class MyAdapter extends BaseAdapter /* 數(shù)據(jù)集合 */ List<AppInfo> list; /* 反射器 */ LayoutInflater inflater; public MyAdapter() /* * 構(gòu)造器 * param context 上下文 */ public MyAdapter(Context context) inflater = LayoutInflater.from(context); /* * 傳入數(shù)據(jù)集
13、合 * param list */ public void setList(List<AppInfo> list) this.list = list; Override public int getCount() return (list = null)? 0:list.size(); Override public Object getItem(int position) return list.get(position); Override public long getItemId(int position) return position; Override public
14、View getView(int position, View convertView, ViewGroup parent) ViewHolder holder = null; if (convertView = null) convertView = inflater.inflate(R.layout.item, null); holder = new ViewHolder(); holder.logo = (ImageView) convertView.findViewById(R.id.logo); holder.title = (TextView) convertView.findVi
15、ewById(R.id.title); holder.version = (TextView) convertView.findViewById(R.id.version); holder.size = (TextView) convertView.findViewById(R.id.size); holder.btn = (Button) convertView.findViewById(R.id.btn); convertView.setTag(holder); else holder = (ViewHolder) convertView.getTag(); AppInfo app = l
16、ist.get(position); holder.logo.setImageDrawable(app.icon); holder.title.setText(app.AppName); holder.version.setText("版本 : "+app.versionName); holder.size.setText("大小 : "+app.size + "M"); return convertView; public static class ViewHolder ImageView logo; TextView title;
17、 TextView version; TextView size; Button btn; 帶BitmapUtil的適配器/* * 新聞列表的適配器 */public class NewsAdapter extends BaseAdapter LayoutInflater inflater; List<News> list; BitmapUtils bitmapUtils; public NewsAdapter(Context context) this.inflater = LayoutInflater.from(context); bitmapUtils = Utils.get
18、Instance(); Override public int getCount() return (list = null)? 0:list.size(); Override public Object getItem(int position) return list.get(position); Override public long getItemId(int position) return position; Override public View getView(int position, View convertView, ViewGroup parent) ViewHol
19、der holder = null; if (convertView = null) convertView = inflater.inflate(R.layout.layout_news_item, null); holder = new ViewHolder(); holder.image = (ImageView) convertView.findViewById(R.id.iv_img); holder.title = (TextView) convertView.findViewById(R.id.tv_title); holder.pubdate = (TextView) conv
20、ertView.findViewById(R.id.tv_pub_date); convertView.setTag(holder); else holder = (ViewHolder) convertView.getTag(); News item = list.get(position); bitmapUtils.display(holder.image, item.getListimage(); holder.title.setText(item.getTitle(); holder.pubdate.setText(item.getTitle(); return convertView
21、; public static class ViewHolder ImageView image; TextView title; TextView pubdate; Handler多線程+進(jìn)度條 / 1聲明進(jìn)度框?qū)ο?ProgressDialog pd; / 顯示一個(gè)環(huán)形進(jìn)度框 public void showProgressDialog() pd = new ProgressDialog(MainActivity.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setTitle("刷新列表");
22、pd.setMessage("請(qǐng)耐心等待"); pd.show(); / 2聲明handler對(duì)象,處理子線程結(jié)束后,UI主線程的更新 Handler handler = new Handler() Override public void handleMessage(Message msg) if (msg.what = 1) updateData_sort(currSort); pd.dismiss();/ 關(guān)閉進(jìn)度框 ; /3.子線程 private void updateData() / 啟動(dòng)新線程,處理耗時(shí)操作 new Thread() public void r
23、un() list = Utils.getAppInfos(MainActivity.this); /耗時(shí)操作 try Thread.sleep(2000);/模擬耗時(shí)操作;真機(jī)測(cè)試時(shí)請(qǐng)注釋掉 catch (InterruptedException e) e.printStackTrace(); handler.sendEmptyMessage(1); .start(); showProgressDialog();/ 顯示進(jìn)度框去標(biāo)題 / 去標(biāo)題 requestWindowFeature(Window.FEATURE_NO_TITLE);保持屏幕常亮 / 保持屏幕常亮 getWindow().
24、setFlags( WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON );初始化View 1.private void initView() tv_info = (TextView) findViewById(R.id.tv_info);2. private void initView() lv = (ListView) findViewById(R.id.lv_main); list = new ArrayList<String>(); ad
25、apter = new MyAdapter(this); lv.setAdapter(adapter); 比較器 / 定義3個(gè)比較器 Comparator<AppInfo> nameComparator = new Comparator<AppInfo>() Override public int compare(AppInfo lhs, AppInfo rhs) return lhs.appName.toLowerCase().compareTo(rhs.appName.toLowerCase(); ;圖片縮略圖 String path = item.path; Bi
26、tmapFactory.Options opt = new BitmapFactory.Options(); opt.inSampleSize = 4; / 縮放因子, 4-1/4 Bitmap bitmap = BitmapFactory.decodeFile(path,opt); holder.icon.setImageBitmap(bitmap);視頻縮略圖 / 生成縮略圖 Thumbnails.MICRO_KIND(最小的縮略圖) Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(item.path, MediaStore.Vide
27、o.Thumbnails.MICRO_KIND); holder.icon.setImageBitmap(bitmap);/ 設(shè)定ImageView的Bitmap確認(rèn)對(duì)話框 new AlertDialog.Builder(this) .setTitle("確認(rèn)信息") .setMessage("確認(rèn)下載圖片嗎?") .setNeutralButton("取消",null) .setPositiveButton("確定",new DialogInterface.OnClickListener() Override p
28、ublic void onClick(DialogInterface dialog, int which) ) .show();設(shè)置Home為返回鍵 /設(shè)置Home為返回鍵,返回之前的Activity getActionBar().setDisplayHomeAsUpEnabled(true); / android.R是系統(tǒng)資源 if (id = android.R.id.home) finish();/ 關(guān)閉界面 return true; BitmapUtils的單例獲取 / 單例模式 private static BitmapUtils bitmapUtils; public static
29、 BitmapUtils getBitmapUtils(Context appContext) if (bitmapUtils = null) bitmapUtils = new BitmapUtils(appContext); return bitmapUtils;BitmapUtils單例模式 private static BitmapUtils bitmapUtils = null; public static BitmapUtils getInstance() if (bitmapUtils = null) bitmapUtils = new BitmapUtils(context);
30、 bitmapUtils.configDefaultLoadingImage(R.drawable.ic_launcher); bitmapUtils.configDefaultLoadFailedImage(R.drawable.ic_launcher); bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565); bitmapUtils.configMemoryCacheEnabled(false); bitmapUtils.configDiskCacheEnabled(true); return bitmapUtils; 配
31、置bitmapUtilspublic void configBitmapUtils() / 加載中的圖片bitmapUtils.configDefaultLoadingImage(R.drawable.default_image);/ 加載失敗的圖片bitmapUtils.configDefaultLoadFailedImage(R.drawable.default_image);/ 設(shè)置圖片的壓縮格式bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565);/ 沒(méi)有透明效果的16位色/ 打開(kāi)內(nèi)存緩存(程序運(yùn)行)bitmapUti
32、ls.configMemoryCacheEnabled(false);/ 不推薦/ 打開(kāi)磁盤緩存(SDCard)bitmapUtils.configDiskCacheEnabled(true);/ 離線后可訪問(wèn) / bitmapUtils.configDefaultAutoRotation(true);/ 設(shè)置圖片自動(dòng)可旋轉(zhuǎn)/ 設(shè)置最大寬高, 不設(shè)置時(shí)更具控件屬性自適應(yīng).bitmapUtils.configDefaultBitmapMaxSize(BitmapCommonUtils.getScreenSize(this).scaleDown(3);/ 滑動(dòng)時(shí)加載圖片,快速滑動(dòng)時(shí)不加載圖片/ i
33、mageListView.setOnScrollListener(new/ PauseOnScrollListener(bitmapUtils, false, true);顯示單張圖片(詳細(xì)頁(yè)面)的代碼 iv_img = (ImageView) findViewById(R.id.iv_img); url = getIntent().getStringExtra("url"); bitmapUtils = Utils.getBitmapUtils(this); BitmapDisplayConfig bigPicDisplayConfig = new BitmapDispl
34、ayConfig(); /bigPicDisplayConfig.setShowOriginal(true); / 顯示原始圖片,不壓縮, 盡量不要使用, 圖片太大時(shí)容易OOM。 bigPicDisplayConfig.setBitmapConfig(Bitmap.Config.RGB_565); bigPicDisplayConfig.setBitmapMaxSize(BitmapCommonUtils.getScreenSize(this); BitmapLoadCallBack<ImageView> callback = new DefaultBitmapLoadCallBa
35、ck<ImageView>() Override public void onLoadStarted(ImageView container, String uri, BitmapDisplayConfig config) super.onLoadStarted(container, uri, config); Override public void onLoadCompleted(ImageView container, String uri, Bitmap bitmap, BitmapDisplayConfig config, BitmapLoadFrom from) sup
36、er.onLoadCompleted(container, uri, bitmap, config, from); /顯示圖片的地址和大小 int w = bitmap.getWidth(); int h = bitmap.getHeight(); T.show_long(url+"("+w+"*"+h+")"); ; bitmapUtils.display(iv_img,url, bigPicDisplayConfig, callback);設(shè)置本地圖片為壁紙 /* * 設(shè)置桌面背景 */ private void putWallp
37、aper(Bitmap bitmap) try WallpaperManager wallpaperManager = WallpaperManager.getInstance(this); wallpaperManager.setBitmap(bitmap); catch (IOException e) String msg = "設(shè)置桌面背景發(fā)生異常:" + e.getLocalizedMessage(); Log.e("spl", "設(shè)置桌面背景發(fā)生異常!", e); T.show(msg); / 點(diǎn)擊設(shè)置壁紙按鈕 public
38、 void btn_wall(View v) final String path = imgIdsiIndex; /彈框 new AlertDialog.Builder(this) .setTitle("確認(rèn)信息") .setMessage("將當(dāng)前圖片" + path + "設(shè)為壁紙嗎?") .setNeutralButton("取消", null) .setPositiveButton("確定", new DialogInterface.OnClickListener() Override
39、public void onClick(DialogInterface dialog, int which) Bitmap bitmap = BitmapFactory.decodeFile(path); putWallpaper(bitmap); T.show("設(shè)置壁紙成功"); ) .show(); 分享圖片 / 點(diǎn)擊分享圖片按鈕 public void btn_share(View v) / 實(shí)例化意圖 Intent intent = new Intent(); / 添加動(dòng)作(干什么?) intent.setAction(android.content.Intent
40、.ACTION_VIEW); / 取得絕對(duì)路徑 String path = imgIdsiIndex; / 取得文件 File file = new File(path); / 文件存在 if (file.exists() / 是個(gè)圖片 intent.setDataAndType(Uri.fromFile(file), "image/*");/MIME TYPE / 發(fā)送意圖 this.startActivity(intent); 顯示一個(gè)環(huán)形進(jìn)度框 / 1聲明進(jìn)度框?qū)ο?ProgressDialog pd; / 顯示一個(gè)環(huán)形進(jìn)度框 public void showProg
41、ressDialog() pd = new ProgressDialog(MainActivity.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setTitle("系統(tǒng)提示"); pd.setMessage("正在獲取數(shù)據(jù),請(qǐng)耐心等待."); pd.show(); HttpUtils獲取網(wǎng)頁(yè)內(nèi)容(獲取json) /* * 傳入一個(gè)URL, 返回頁(yè)面內(nèi)容 * param url */ private void getHTML(String url) showProgressDia
42、log(); new HttpUtils().send( HttpRequest.HttpMethod.GET, url, new RequestCallBack<String>() Override public void onSuccess(ResponseInfo<String> responseInfo) String html = responseInfo.result; tv_info.setText(html); pd.dismiss(); Override public void onFailure(HttpException e, String s)
43、tv_info.setText(s); pd.dismiss(); ); 聚合數(shù)據(jù)的網(wǎng)址接口(微信精選) / AppKey public static final String AppKey = "c261130730787d277e7416d98d67fff4" Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); / 聚合數(shù)據(jù)的網(wǎng)址
44、接口(微信精選) String url = " getHTML(url); 兩次點(diǎn)擊退出private long mExitTime; Override public void onBackPressed() if (System.currentTimeMillis() - mExitTime) > 2000) Toast.makeText(this, "在按一次退出", Toast.LENGTH_SHORT).show(); mExitTime = System.currentTimeMillis(); else finish(); Welcome開(kāi)機(jī)歡迎
45、界面package com.topnews;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;public class Welcome extends Activity private AlphaAnimation start_anima;View view;Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);view = View.inflate(this, R.layout.welcome, null);setContentView(view);initVie
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)八年級(jí)上冊(cè)《實(shí)驗(yàn)與探究三角形中邊與角之間的不等關(guān)系》聽(tīng)評(píng)課記錄
- 魯教版歷史六年級(jí)上冊(cè)第5課《夏、商、西周的興亡》聽(tīng)課評(píng)課記錄
- 魯人版道德與法治九年級(jí)下冊(cè)13.1《綠水青山就是金山銀山》聽(tīng)課評(píng)課記錄1
- 部審人教版八年級(jí)數(shù)學(xué)下冊(cè)聽(tīng)評(píng)課記錄18.2.1 第1課時(shí)《矩形的性質(zhì)》
- 七年級(jí)上冊(cè)道德與法治第十課綻放生命之花聽(tīng)課評(píng)課記錄(2課時(shí))
- 星球版地理八年級(jí)下冊(cè)《第二節(jié) 生態(tài)環(huán)境保護(hù)與資源開(kāi)發(fā)》聽(tīng)課評(píng)課記錄1
- 人教版歷史八年級(jí)上冊(cè)第22課《抗日戰(zhàn)爭(zhēng)的勝利》聽(tīng)課評(píng)課記錄
- 小學(xué)五年級(jí)聽(tīng)評(píng)課記錄
- 魯教版數(shù)學(xué)七年級(jí)上冊(cè)1.1《認(rèn)識(shí)三角形》聽(tīng)評(píng)課記錄5
- 蘇科版數(shù)學(xué)七年級(jí)下冊(cè)聽(tīng)評(píng)課記錄7.3圖形的平移1
- 四年級(jí)計(jì)算題大全(列豎式計(jì)算,可打印)
- 科技計(jì)劃項(xiàng)目申報(bào)培訓(xùn)
- 591食堂不合格食品處置制度
- 產(chǎn)業(yè)鏈鏈長(zhǎng)分工表
- 國(guó)際金融課件(完整版)
- 導(dǎo)向標(biāo)識(shí)系統(tǒng)設(shè)計(jì)(一)課件
- 220t鍋爐課程設(shè)計(jì) 李學(xué)玉
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
- 黑布林繪本 Dad-for-Sale 出售爸爸課件
- 京東方頂崗實(shí)習(xí)報(bào)告1
評(píng)論
0/150
提交評(píng)論