找回密碼
 註冊

分享android課程寫的程式碼

来源: 跑山的節奏 2012-2-29 16:01 只看這個作者 |閱讀模式
4 6062
主程式1
  1. package com.aa.bb;

  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.TextView;

  8. public class TestActivity extends Activity {
  9.         /** Called when the activity is first created. */
  10.         @Override
  11.         public void onCreate(Bundle savedInstanceState) {
  12.                 super.onCreate(savedInstanceState);

  13.                 setContentView(R.layout.main);

  14.                 final TextView txtBookName = (TextView) this
  15.                                 .findViewById(R.id.txtBookName);
  16.                 Button btSearch = (Button) this.findViewById(R.id.btSearch);

  17.                 btSearch.setOnClickListener(new View.OnClickListener() {

  18.                         @Override
  19.                         public void onClick(View v) {
  20.                                 Intent intent = new Intent(TestActivity.this, DisplayBook.class);
  21.                                 intent.putExtra("BookName", txtBookName.getText().toString());
  22.                                 startActivity(intent);
  23.                         }
  24.                 });

  25.         }
  26. }
複製代碼
主程式2
  1. package com.aa.bb;

  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.net.URL;
  5. import java.net.URLConnection;
  6. import java.util.ArrayList;
  7. import java.util.HashMap;

  8. import org.codehaus.jackson.map.ObjectMapper;

  9. import android.app.ListActivity;
  10. import android.os.Bundle;
  11. import android.widget.SimpleAdapter;

  12. public class DisplayBook extends ListActivity {

  13.         public void onCreate(Bundle savedInstanceState) {
  14.                 super.onCreate(savedInstanceState);
  15.                 String bookName = this.getIntent().getExtras().getString("BookName");

  16.                 try {

  17.                         URL url = new URL("https://www.googleapis.com/books/v1/volumes?q="
  18.                                         + bookName);
  19.                         URLConnection con = url.openConnection();
  20.                         BufferedReader br = new BufferedReader(new InputStreamReader(
  21.                                         con.getInputStream()));
  22.                         String data = null;
  23.                         StringBuffer result = new StringBuffer();
  24.                         while ((data = br.readLine()) != null) {
  25.                                 result.append(data);
  26.                         }
  27.                         ObjectMapper mapper = new ObjectMapper();
  28.                         BookInfo bi = mapper.readValue(result.toString(), BookInfo.class);
  29.                         ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

  30.                         for (Items item : bi.getItems()) {

  31.                                 HashMap<String, String> map = new HashMap<String, String>();
  32.                                 map.put("title", item.getVolumeInfo().getTitle());
  33.                                 map.put("subTitle", item.getVolumeInfo().getSubtitle());
  34.                                 list.add(map);
  35.                         }

  36.                         SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.row,
  37.                                         new String[] { "title", "subTitle" }, new int[] {
  38.                                                         R.id.txtTitle, R.id.txtSubTitle });
  39.                         this.setListAdapter(adapter);

  40.                 } catch (Exception ex) {
  41.                         ex.printStackTrace();
  42.                 }

  43.         }

  44. }
複製代碼
附屬類別1
  1. package com.aa.bb;

  2. import java.util.ArrayList;
  3. import java.util.List;

  4. import org.codehaus.jackson.annotate.JsonIgnoreProperties;



  5. @JsonIgnoreProperties(ignoreUnknown=true)
  6. public class BookInfo {
  7.         private int totalItems;
  8.         private List<Items> items = new ArrayList<Items>();
  9.         public int getTotalItems() {
  10.                 return totalItems;
  11.         }

  12.         public void setTotalItems(int totalItems) {
  13.                 this.totalItems = totalItems;
  14.         }

  15.         public List<Items> getItems() {
  16.                 return items;
  17.         }

  18.         public void setItems(List<Items> items) {
  19.                 this.items = items;
  20.         }
  21.        
  22. }
複製代碼
附屬類別2
  1. package com.aa.bb;

  2. import org.codehaus.jackson.annotate.JsonIgnoreProperties;

  3. @JsonIgnoreProperties(ignoreUnknown = true)
  4. public class Items {
  5.         private String kind;
  6.         private VolumeInfo volumeInfo;

  7.         public String getKind() {
  8.                 return kind;
  9.         }

  10.         public void setKind(String kind) {
  11.                 this.kind = kind;
  12.         }

  13.         public VolumeInfo getVolumeInfo() {
  14.                 return volumeInfo;
  15.         }

  16.         public void setVolumeInfo(VolumeInfo volumeInfo) {
  17.                 this.volumeInfo = volumeInfo;
  18.         }
  19.        
  20. }
複製代碼
附屬類別3
  1. package com.aa.bb;

  2. import org.codehaus.jackson.annotate.JsonIgnoreProperties;

  3. @JsonIgnoreProperties(ignoreUnknown = true)
  4. public class VolumeInfo {
  5.         private String title;
  6.         private String subtitle;
  7.         public String getTitle() {
  8.                 return title;
  9.         }
  10.         public void setTitle(String title) {
  11.                 this.title = title;
  12.         }
  13.         public String getSubtitle() {
  14.                 return subtitle;
  15.         }
  16.         public void setSubtitle(String subtitle) {
  17.                 this.subtitle = subtitle;
  18.         }
  19.        
  20. }
複製代碼
這個是讓使用者查詢書名,很雞肋的程式

下次說要做來電警衛

寫好了再分享給大家
參與人數 1經驗值 +5 收起 理由
萊薩茵 + 5 就靠你了XD

瀏覽全部評分總評分 :  經驗值 +5

收藏
收藏0

網友回覆4

跳到指定樓層
應該是 你好厲害!!
只是大大 我看無...
這太酷了,給個專案檔吧
小時候不念書,長大是要還利息的
                       ~Address~~彎道舞者~~~
好厲害!101.gif
我還在摸索當中108.gif
原文章由 mickeykai 於 2012-2-29 17:39 發表 分享android課程寫的程式碼8093
這太酷了,給個專案檔吧

可以下載了

不知道在實機上會不會順利運作

Test.apk

436.85 KB, 下載次數: 162