![Android開(kāi)發(fā)之Eclipse制作簡(jiǎn)易備忘錄_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/3f1a494d-5ba9-453d-9f64-bad87869b8b3/3f1a494d-5ba9-453d-9f64-bad87869b8b31.gif)
![Android開(kāi)發(fā)之Eclipse制作簡(jiǎn)易備忘錄_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/3f1a494d-5ba9-453d-9f64-bad87869b8b3/3f1a494d-5ba9-453d-9f64-bad87869b8b32.gif)
![Android開(kāi)發(fā)之Eclipse制作簡(jiǎn)易備忘錄_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/3f1a494d-5ba9-453d-9f64-bad87869b8b3/3f1a494d-5ba9-453d-9f64-bad87869b8b33.gif)
![Android開(kāi)發(fā)之Eclipse制作簡(jiǎn)易備忘錄_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/3f1a494d-5ba9-453d-9f64-bad87869b8b3/3f1a494d-5ba9-453d-9f64-bad87869b8b34.gif)
![Android開(kāi)發(fā)之Eclipse制作簡(jiǎn)易備忘錄_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/3f1a494d-5ba9-453d-9f64-bad87869b8b3/3f1a494d-5ba9-453d-9f64-bad87869b8b35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Android 開(kāi)發(fā)之Eclipse制作“備忘錄”備忘錄,或者說(shuō)是便簽,其實(shí)界面設(shè)計(jì)比較簡(jiǎn)單,機(jī)載的一些便簽也是比較簡(jiǎn)單的設(shè)計(jì),當(dāng)然,如果想讓畫(huà)面更加絢麗點(diǎn),可以融合進(jìn)相應(yīng)技術(shù),在這里,我就做一些簡(jiǎn)單的設(shè)計(jì)。界面之外,主要是文件的存儲(chǔ)與讀取,設(shè)計(jì)到j(luò)ava編程的IO流操作,相信對(duì)于有著一定的java基礎(chǔ)的人都是很容易去理解的。UI圖如下:下面簡(jiǎn)單介紹一下我制作這個(gè)備忘錄的過(guò)程。首先做UI設(shè)計(jì),具體設(shè)計(jì)相信只是時(shí)間問(wèn)題,很好解決,直接編寫(xiě)xml布局文件,對(duì)于該備忘錄,我設(shè)計(jì)了3個(gè)xml布局文件,其中第一個(gè)是activity_main.xml,第二個(gè)是about.xml(里面存放的是copyrig
2、hts信息),第三個(gè)是details.xml(里面是用于顯示某條選中記錄的完整信息),三個(gè)布局分別如下:除了第一個(gè)布局,另外兩個(gè)布局都有back按鈕,用于返回到主界面。三個(gè)布局的布局文件應(yīng)該是很容易寫(xiě)的,需要注意的是,需要設(shè)置響應(yīng)的id,以便在主函數(shù)中進(jìn)行消息響應(yīng)。三個(gè)布局文件的代碼分別是:activity_main.xml<RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="matc
3、h_parent" 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.exa
4、mple.xiongyanan.notes.MainActivity" > <EditText android:id="+id/et_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_
5、marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="0dp" android:background="#D9CAC4" android:gravity="top" android:maxLines="4" android:lines="4" android:maxLength="110" android:textColor="
6、;#FD0516" /> <Button android:id="+id/bt_write" android:textColor="#541717" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="35dp" android:layout_alignLeft="+id/et_content" android:layout_bel
7、ow="+id/et_content" android:layout_marginTop="10dp" android:text="write" /> <LinearLayout android:id="+id/linearLayout1" android:layout_alignParentLeft="true" android:layout_marginLeft="15dp" android:layout_marginRight="15dp"
8、; android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="id/bt_write" android:layout_marginTop="5dp" android:orientation="vertical" > <TextView android:id="+id/note_saved1" android:clickable=&qu
9、ot;true" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#96C8A8" android:layout_marginBottom="5dp" android:textColor="#177C50" android:lines="1" android:textSize="20dp" /> <
10、TextView android:id="+id/note_saved2" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#96C8A8" android:layout_marginBottom="5dp" android:textColor="#177C50" android:textSize="20dp" andr
11、oid:lines="1" android:clickable="true"/> <TextView android:id="+id/note_saved3" android:clickable="true" android:layout_width="match_parent" android:background="#96C8A8" android:layout_height="wrap_content" android:layout_ma
12、rginBottom="5dp" android:textColor="#177C50" android:lines="1" android:textSize="20dp" /> <TextView android:id="+id/note_saved4" android:clickable="true" android:layout_width="match_parent" android:layout_height="wrap_c
13、ontent" android:background="#96C8A8" android:layout_alignLeft="+id/linearLayout1" android:layout_below="+id/linearLayout1" android:layout_marginBottom="5dp" android:textColor="#177C50" android:lines="1" android:textSize="20dp"
14、; /> <TextView android:id="+id/note_saved5" android:clickable="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#96C8A8" android:layout_alignLeft="+id/textView2" android:layout_below=&
15、quot;+id/textView2" android:layout_marginBottom="5dp" android:textColor="#177C50" android:lines="1" android:textSize="20dp" /> </LinearLayout> <Button android:id="+id/bt_save" android:layout_width="wrap_content" android:lay
16、out_height="wrap_content" android:layout_above="+id/linearLayout1" android:layout_toRightOf="+id/bt_write" android:clickable="true" android:text="save" android:textColor="#541717" android:width="35dp" /> <Button android:id=&
17、quot;+id/bt_rewrite" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="+id/bt_save" android:layout_alignTop="+id/bt_save" android:layout_toRightOf="+id/bt_save" android:shadowColor="#263646
18、" android:text="clear" android:textColor="#541717" android:width="40dp" /> <Button android:id="+id/bt_about" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="+id/linearLayout1&qu
19、ot; android:layout_alignRight="+id/linearLayout1" android:layout_alignTop="+id/bt_rewrite" android:layout_toRightOf="+id/bt_rewrite" android:text="about" android:textColor="#541717" android:width="35dp" /> <Button android:id="+id
20、/bt_down" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="+id/linearLayout1" android:layout_below="+id/linearLayout1" android:text="down" /> <Button android:id="+id/bt_up" androi
21、d:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="+id/bt_down" android:layout_alignBottom="+id/bt_down" android:layout_alignRight="+id/linearLayout1" android:text="up" /> <Button android:
22、id="+id/bt_first" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="+id/bt_up" android:layout_alignBottom="+id/bt_up" android:layout_centerHorizontal="true" android:text="first"
23、 /></RelativeLayout>detail.xml:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="+id/tv_details" android
24、:layout_height="wrap_content" android:layout_width="match_parent" android:maxLines="8" android:textColor="#2E37AA" android:textSize="20dp" android:lines="8" android:text="hello"/> <Button android:id="+id/bt_back" a
25、ndroid:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="+id/tv_details" android:layout_marginRight="16dp" android:layout_marginTop="46dp" android:text="back&q
26、uot; /></RelativeLayout>至此,界面布置完成,相應(yīng)的控件ID都已合理的設(shè)置,接下來(lái),需要寫(xiě)主函數(shù)以及用于IO存儲(chǔ)的函數(shù)。下面對(duì)諸多按鈕的功能進(jìn)行一一敘述:“write”設(shè)置光標(biāo)可見(jiàn),設(shè)置編輯區(qū)清空“save”存儲(chǔ)TextView(也就是編輯框)里的內(nèi)容到相應(yīng)的xxx.txt 里面,該txt文件將存儲(chǔ)在手機(jī)內(nèi)存中。“clear”backspace的作用“about”作者信息與app信息“up”記錄向上滾動(dòng)“down”記錄向下滾動(dòng)“first”首頁(yè)按下每個(gè)小TextView時(shí),將進(jìn)入記錄具體內(nèi)容演示界面,其中按下“back”將返回主界面。功能補(bǔ)述:由于記錄是
27、存儲(chǔ)在手機(jī)內(nèi)存中的,因此,希望每次啟動(dòng)app時(shí)候,能載入已經(jīng)存儲(chǔ)好了的記錄,且按照習(xí)慣,載入最近的幾條記錄,并可實(shí)現(xiàn)記錄翻頁(yè)取出。因此,文件既涉及到存,也涉及到讀,為實(shí)現(xiàn)存儲(chǔ)文件和讀取文件,編寫(xiě)noteService類,里面包含讀、寫(xiě)函數(shù),具體代碼如下:public class noteService public static boolean saveContent(Context context,String content,int saveCountor) String str = "content"+saveCountor;try File file = new F
28、ile(context.getFilesDir(),str);FileOutputStream fos = new FileOutputStream(file);fos.write(content).getBytes();fos.close();return true; catch (Exception e) e.printStackTrace();return false;public static String getSavedContent(Context context,int saveCountor) String str = "content"+saveCoun
29、tor;File file = new File(context.getFilesDir(),str);try FileInputStream fis = new FileInputStream(file);BufferedReader br = new BufferedReader(new InputStreamReader(fis);String str1 = br.readLine();return str1; catch (Exception e)e.printStackTrace();return null;此類中沒(méi)有定義實(shí)例化對(duì)象函數(shù)。定義好noteService類后,接下來(lái)需要編
30、寫(xiě)主函數(shù)了。為了實(shí)現(xiàn)上述功能,主函數(shù)需要對(duì)相應(yīng)事件進(jìn)行監(jiān)聽(tīng),進(jìn)行相應(yīng)的處理,并力爭(zhēng)減少bug,顧經(jīng)過(guò)反復(fù)調(diào)試,主類代碼為:package com.example.xiongyanan.notes;import java.io.File;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android
31、.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends ActionBarActivity implements OnClickListenerprivate int saveCountor;private int saveCountorImage;private File file;private EditText et_content;private Button bt_back;private TextView tv_deta
32、ils; protected void onCreate(Bundle savedInstanceState) int i=1; super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btSet(); do String str = "content"+i; file = new File(this.getFilesDir(),str); i+; while(file.exists(); saveCountor=i-1; contentFindSet(); saveCounto
33、rImage=saveCountor; private void contentFindSet() TextView note_save1 = (TextView)this.findViewById(R.id.note_saved1); TextView note_save2 = (TextView)this.findViewById(R.id.note_saved2); TextView note_save3 = (TextView)this.findViewById(R.id.note_saved3); TextView note_save4 = (TextView)this.findVi
34、ewById(R.id.note_saved4); TextView note_save5 = (TextView)this.findViewById(R.id.note_saved5); if(saveCountor<5) note_save1.setText("No Saved"); note_save2.setText(""); note_save3.setText(""); note_save4.setText(""); note_save5.setText(""); else n
35、ote_save1.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-1);note_save2.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-2);note_save3.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-3);note_save4.setText(
36、CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-4);note_save5.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-5); private void contentFindSet(int saveCountor) TextView note_save1 = (TextView)this.findViewById(R.id.note_saved1); TextView note_sa
37、ve2 = (TextView)this.findViewById(R.id.note_saved2); TextView note_save3 = (TextView)this.findViewById(R.id.note_saved3); TextView note_save4 = (TextView)this.findViewById(R.id.note_saved4); TextView note_save5 = (TextView)this.findViewById(R.id.note_saved5); note_save1.setText(CharSequence)noteServ
38、ice.getSavedContent(MainActivity.this, saveCountor-1);note_save2.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-2);note_save3.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-3);note_save4.setText(CharSequence)noteService.getSavedConten
39、t(MainActivity.this, saveCountor-4);note_save5.setText(CharSequence)noteService.getSavedContent(MainActivity.this, saveCountor-5);private void btSet() Button bt_save = (Button)this.findViewById(R.id.bt_save); bt_save.setOnClickListener(this); Button bt_rewrite = (Button)this.findViewById(R.id.bt_rew
40、rite); bt_rewrite.setOnClickListener(this); Button bt_write = (Button)this.findViewById(R.id.bt_write); bt_write.setOnClickListener(this); Button bt_about = (Button)this.findViewById(R.id.bt_about); bt_about.setOnClickListener(this); Button bt_up = (Button)this.findViewById(R.id.bt_up); bt_up.setOnC
41、lickListener(this); Button bt_down = (Button)this.findViewById(R.id.bt_down); bt_down.setOnClickListener(this); Button bt_first = (Button)this.findViewById(R.id.bt_first); bt_first.setOnClickListener(this); TextView note_saved1 = (TextView)this.findViewById(R.id.note_saved1); note_saved1.setOnClickL
42、istener(this); TextView note_saved2 = (TextView)this.findViewById(R.id.note_saved2); note_saved2.setOnClickListener(this); TextView note_saved3 = (TextView)this.findViewById(R.id.note_saved3); note_saved3.setOnClickListener(this); TextView note_saved4 = (TextView)this.findViewById(R.id.note_saved4);
43、 note_saved4.setOnClickListener(this); TextView note_saved5 = (TextView)this.findViewById(R.id.note_saved5); note_saved5.setOnClickListener(this);Overridepublic void onClick(View v) switch (v.getId() case R.id.bt_save: et_content = (EditText)this.findViewById(R.id.et_content);noteService.saveContent
44、(MainActivity.this, et_content.getText().toString(),saveCountor);et_content.setCursorVisible(false);et_content.setText("");saveCountorImage=saveCountor;saveCountor+;contentFindSet(saveCountor);break;case R.id.bt_rewrite:et_content = (EditText)this.findViewById(R.id.et_content);String str =
45、 et_content.getText().toString();if(str.length()>0)str= str.substring(0, str.length()-1);elsestr=""et_content.setText(str);case R.id.bt_write:et_content = (EditText)this.findViewById(R.id.et_content);et_content.setCursorVisible(true);break;case R.id.bt_about:/about this software and aut
46、hor setContentView(R.layout.copyrights);Button bt_haha = (Button) findViewById(R.id.bt_haha);bt_haha.setOnClickListener(this);break;case R.id.bt_haha:/join into the view of extra informationsetContentView(R.layout.activity_main); btSet(); contentFindSet(saveCountor);break; case R.id.bt_up:saveCounto
47、rImage+;if(saveCountorImage>saveCountor)Toast.makeText(this, "到頂了", Toast.LENGTH_SHORT).show();elsecontentFindSet(saveCountorImage);break;case R.id.bt_down:saveCountorImage-;if(saveCountorImage<0)Toast.makeText(this, "到底了", Toast.LENGTH_SHORT).show();elsecontentFindSet(save
48、CountorImage);break;case R.id.bt_first:contentFindSet(saveCountor); saveCountorImage = saveCountor;break;case R.id.note_saved1:et_content = (EditText)this.findViewById(R.id.et_content);setContentView(R.layout.details);bt_back = (Button) findViewById(R.id.bt_back);bt_back.setOnClickListener(this);tv_details = (TextView)this.findViewById(R.id.tv_details);tv_details.setText(noteService.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB 3705T 47-2024黃河口灘區(qū)肉羊繁育技術(shù)規(guī)范
- 二手房買賣合同范本解析
- 個(gè)人與公司委托代繳公積金合同范本
- 中小企業(yè)借款合同模板
- XX公司委托培訓(xùn)合同
- 中鐵物資商城采購(gòu)合同新范本
- 上海市臨時(shí)勞動(dòng)合同模板
- 個(gè)人投資入股合同范例
- 不動(dòng)產(chǎn)行紀(jì)買賣合同書(shū)
- 個(gè)人意外傷害保險(xiǎn)合同醫(yī)療附加條款(暫行)
- 商業(yè)綜合體市場(chǎng)調(diào)研報(bào)告
- 資源枯竭型城市的轉(zhuǎn)型發(fā)展 課件 2024-2025學(xué)年高二上學(xué)期地理人教版選擇性必修2
- 2025屆河北省衡水市衡水中學(xué)高考仿真模擬英語(yǔ)試卷含解析
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 生物 含解析
- 變壓器投標(biāo)書(shū)-技術(shù)部分
- 小學(xué)一年級(jí)數(shù)學(xué)思維訓(xùn)練100題(附答案)
- 法院拍賣議價(jià)協(xié)議書(shū)
- 新能源充電站運(yùn)營(yíng)手冊(cè)
- 2024年蘭州新區(qū)實(shí)正鑫熱電有限公司招聘筆試沖刺題(帶答案解析)
- 血透室護(hù)士長(zhǎng)述職
- (正式版)JTT 1218.4-2024 城市軌道交通運(yùn)營(yíng)設(shè)備維修與更新技術(shù)規(guī)范 第4部分:軌道
評(píng)論
0/150
提交評(píng)論