Android筆試總結(3)

發表于:2013-06-03來源:Csdn作者:xyz_lmn點擊數: 標簽:Android
person.setName(new String(element.getFirstChild().getNodeValue())); }elseif(age.equals(childNode.getNodeName())){ person.setAge(new Short(element.getFirstChild().getNodeValue())); } } } pers.add(perso

  person.setName(new String(element.getFirstChild().getNodeValue()));

  }elseif("age".equals(childNode.getNodeName())){

  person.setAge(new Short(element.getFirstChild().getNodeValue()));

  }

  }

  }

  pers.add(person);

  }

  inStream.close();

  return pers;

  }

  }

  (3)使用Pull解析器讀取XML文件

  PullPerson.java

  import java.io.File;

  import java.io.FileOutputStream;

  import java.io.InputStream;

  import java.util.ArrayList;

  import java.util.List;

  import org.xmlpull.v1.XmlPullParser;

  import org.xmlpull.v1.XmlSerializer;

  import android.os.Environment;

  import android.util.Xml;

  import com.sinber.domain.Person;

  publicclass PullPerson {

  publicstaticvoid save(List persons) throws Exception{

  XmlSerializer serializer = Xml.newSerializer();

  File file =new File(Environment.getExternalStorageDirectory(),"person.xml");

  FileOutputStream outStream =new FileOutputStream(file);

  serializer.setOutput(outStream,"UTF-8");

  serializer.startDocument("UTF-8", true);

  serializer.startTag("", "persons");

  for(Person person:persons){

  serializer.startTag("", "person"); //person

  serializer.attribute("", "id", ""+person.getId());

  serializer.startTag("", "name"); //name

  serializer.text(person.getName());

  serializer.endTag("", "name"); //name

  serializer.startTag("", "age"); //age

  serializer.text(person.getAge().toString());

  serializer.endTag("", "age");//age

  serializer.endTag("", "person"); //person

  }

  serializer.endTag("", "persons");

  serializer.endDocument();

  outStream.close();

  }

  publicstatic List getPersons() throws Exception{

  List persons =null;

  Person person =null;

  XmlPullParser parser= Xml.newPullParser();

  InputStream inStream = PullPersonService.class.getClassLoader().getResourceAsStream("person.xml");

  parser.setInput(inStream, "UTF-8");

  int eventType = parser.getEventType(); //觸發第一個事件

  while(eventType!=XmlPullParser.END_DOCUMENT){

  switch(eventType){

  case XmlPullParser.START_DOCUMENT:

  persons =new ArrayList();

  break;

  case XmlPullParser.START_TAG: //開始元素事件

  if("person".equals(parser.getName())){

  person =new Person();

  person.setId(new Integer(parser.getAttributeValue(0)));

  }elseif(person!=null){

  if("name".equals(parser.getName())){

  person.setName(parser.nextText());

  }elseif("age".equals(parser.getName())){

  person.setAge(new Short(parser.nextText()));

  }

  }

  break;

  case XmlPullParser.END_TAG: //結束元素事件

  if("person".equals(parser.getName())){

  persons.add(person);

  person =null;

  }

  break;

  default:

  break;

  }

  eventType = parser.next();

  }

  return persons;

  }

  }

  以上三種方式任選其一即可。

  9.根據自己的理解描述下Android數字簽名。

  答:(1)所有的應用程序都必須有數字證書,Android系統不會安裝一個沒有數字證書的應用程序

  (2)Android程序包使用的數字證書可以是自簽名的,不需要一個權威的數字證書機構簽名認證

  (3)如果要正式發布一個Android ,必須使用一個合適的私鑰生成的數字證書來給程序簽名,而不能使用adt插件或者ant工具生成的調試證書來發布。

  (4)數字證書都是有有效期的,Android只是在應用程序安裝的時候才會檢查證書的有效期。如果程序已經安裝在系統中,即使證書過期也不會影響程序的正常功能。

  10.已知單鏈表的頭結構head,寫一個函數把這個鏈表逆序。

  答: 如下所示

  Node.java

  publicclass Node {

  private Integer count;

  private Node nextNode;

  public Node(){

  }

  public Node(int count){

  this.count =new Integer(count);

  }

  public Integer getCount() {

  return count;

  }

  publicvoid setCount(Integer count) {

原文轉自:http://blog.csdn.net/xyz_lmn/article/details/6922224

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97