1、 意图,描述应用想干什么。最重要的部分是动作和动作对应的数据。 Content Provider:内容提供器,android应用程序能够将它们的数据保存到文件、SQLite数据库中,甚至是任何有效的设备中。当你想将你的应用数据和其他应用共享时,内容提供器就可以发挥作用了。 Service:服务,具有一段较长生命周期且没有用户界面的程序。 5.View, surfaceView, GLSurfaceView有什么区别。view是最基础的,必须在UI主线程内更新画面,速度较慢。 SurfaceView 是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快 GLSur
2、faceView 是SurfaceView的子类,opengl 专用的 6.Adapter有什么作用?常见的Adapter有哪些?Adapter是连接后端数据和前端显示的适配器接口。常见的Adapter有ArrayAdapter, BaseAdapter,CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter,SimpleCursorAdapter, SpinnerAdapter, WrapperListAdapter等 7.Manifest.xml文件中主要包括哪些信息?m
3、anifest:根节点,描述了package中所有的内容。 uses-permission:请求你的package正常运作所需赋予的安全许可。 permission: 声明了安全许可来限制哪些程序能你package中的组件和功能。 instrumentation:声明了用来测试此package或其他package指令组件的代码。 application:包含package中application级别组件声明的根节点。 activity:Activity是用来与用户交互的主要工具。 receiver:IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前
4、不在运行。 service:Service是能在后台运行任意时间的组件。 provider:ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。8.请写一段代码(SAX, DOM, 或者pull )来解析XML文档。下面是要解析的XML文件:java代码:1. 2. 3. 4. person id=15. 张三6. 227. 8. 29. 李四10. 2311. 12. 13. 复制代码 定义一个名为Person的javaBean用于存放上面解析出来的xml内容1. public class Person 3. private Integer id;4. priv
5、ate String name;5. private Short age;6. 7. public Integer getId() 8. return id;9. 10. 11. public void setId(Integer id) 12. this.id = id;13. 14. 15. public String getName() 16. return name;17. 18. 19. public void setName(String name) 20. this.name = name;21. 22. 23. public Short getAge() 24. return
6、age;25. 26. 27. public void setAge(Short age) 28. this.age = age;29. 30. 31. (1)使用SAX读取XML文件;它采用的是事件驱动,并不需要解析完整个文档,速度快并且占用内存少。需要为SAX提供实现ContentHandler接口的类。PersonDefaultHandler.java1. import java.util.ArrayList;2. import java.util.List;3. import org.xml.sax.Attributes;4. import org.xml.sax.SAXExcepti
7、on;5. import org.xml.sax.helpers.DefaultHandler;6. import com.sinber.domain.Person;7. 8. public class PersonDefaultHandler extends DefaultHandler 9. private List persons;10. private Person person ; /记录当前person11. private String perTag; /记录前一个标签的名称13. /* 重写父类的开始文档方法。用于初始化*/15. Override16. public void
8、 startDocument() throws SAXException 17. persons = new ArrayList();18. 19. 20. Override21. public void startElement(String uri, String localName, String qName,22. Attributes attributes) throws SAXException 23. if(person.equals(localName)24. Integer id = new Integer(attributes.getValue(0); /取id25. pe
9、rson = new Person();26. person.setId(id);27. 28. perTag = localName;29. 30. 31. 32. /*参数:33. * ch 整个XML字符串34. * start 节点值在整个XML字符串中的索引位置35. * length 节点值的长度36. */37. 38. Override39. public void characters(char ch, int start, int length)40. throws SAXException 41. if(perTag!=null)42. String data = new
10、 String(ch,start,length);43. if(name.equals(perTag)44. person.setName(data);45. else if(age46. person.setAge(new Short(data);47. 48. 49. 50. 51. Override52. public void endElement(String uri, String localName, String qName)53. throws SAXException 54. if(55. persons.add(person);56. person = null;57.
11、58. perTag = null;59. 60. 61. public List getPersons() 62. return persons;63. 64. 65. SAXPerson.java1. import java.io.InputStream;3. import javax.xml.parsers.SAXParser;4. import javax.xml.parsers.SAXParserFactory;5. import com.sinber.domain.Person;7. public class SAXPerson8. public static List getPe
12、rson() throws Exception9. /通过类装载器获取文件10. InputStream inStream = SAXPersonService.class.getClassLoader().getResourceAsStream(person.xml);11. 12. SAXParserFactory factory = SAXParserFactory.newInstance();13. SAXParser saxParser = factory.newSAXParser();14. PersonDefaultHandler handler = new PersonDefa
13、ultHandler();15. saxParser.parse(inStream, handler);16. inStream.close();17. return handler.getPersons();20. (2)DOM解析XML文件时,会将XML文件的所有内容读取到内存中,然后允许您使用DOM API遍历XML树、检索所需的数据。DOMPerson.java2. import java.util.ArrayList;3. import java.util.List;4. import javax.xml.parsers.DocumentBuilder;5. import javax
14、.xml.parsers.DocumentBuilderFactory;6. import org.w3c.dom.Document;7. import org.w3c.dom.Element;8. import org.w3c.dom.Node;9. import org.w3c.dom.NodeList;10. import com.sinber.domain.Person;12. public class DOMPerson 13. public static List14. List pers = new ArrayList15. InputStream inStream = SAXP
15、ersonService.class.getClassLoader().getResourceAsStream(16. DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();17. DocumentBuilder builder = factory.newDocumentBuilder();18. Document dom = builder.parse(inStream);19. Element root = dom.getDocumentElement();20. NodeList persons = ro
16、ot.getElementsByTagName(21. for(int i=0;ipersons.getLength();i+)22. Element personNode =(Element)persons.item(i);23. Person person = new Person();24. person.setId(new Integer(personNode.getAttribute(id);25. NodeList childNodes = personNode.getChildNodes();26. for(int j=0;jchildNodes.getLength();j+)2
17、7. Node childNode = childNodes.item(j);28. if(childNode.getNodeType()=Node.ELEMENT_NODE)29. Element element = (Element)childNode;30. if(.equals(childNode.getNodeName()31. person.setName(new String(element.getFirstChild().getNodeValue();32. else if(33. person.setAge(new Short(element.getFirstChild().
18、getNodeValue();34. 35. 36. 37. 38. pers.add(person);39. 40. inStream.close();41. return pers;42. 43. 44. (3)使用Pull解析器读取XML文件PullPerson.java1. import java.io.File;2. import java.io.FileOutputStream;3. import java.io.InputStream;4. import java.util.ArrayList;5. import java.util.List;6. import org.xmlp
19、ull.v1.XmlPullParser;7. import org.xmlpull.v1.XmlSerializer;8. import android.os.Environment;9. import android.util.Xml;12. public class PullPerson 13. public static void save(List persons) throws Exception14. XmlSerializer serializer = Xml.newSerializer();15. File file = new File(Environment.getExt
20、ernalStorageDirectory(),16. FileOutputStream outStream = new FileOutputStream(file);17. serializer.setOutput(outStream,18. serializer.startDocument(, true);19. serializer.startTag(, persons20. for(Person person:persons)21. serializer.startTag( /person22. serializer.attribute(+person.getId();23. seri
21、alizer.startTag( /name24. serializer.text(person.getName();25. serializer.endTag(26. serializer.startTag( /age27. serializer.text(person.getAge().toString();28. serializer.endTag(/age29. serializer.endTag(32. serializer.endTag(33. serializer.endDocument();34. outStream.close();38. public static List
22、 getPersons() throws Exception39. List persons = null;40. Person person = null;41. XmlPullParser parser= Xml.newPullParser();42. InputStream inStream = PullPersonService.class.getClassLoader().getResourceAsStream(43. parser.setInput(inStream, 44. int eventType = parser.getEventType(); /触发第一个事件45. wh
23、ile(eventType!=XmlPullParser.END_DOCUMENT)46. switch(eventType)47. case XmlPullParser.START_DOCUMENT:48. persons = new ArrayList49. break;51. case XmlPullParser.START_TAG: /开始元素事件52. if(.equals(parser.getName()53. person = new Person();54. person.setId(new Integer(parser.getAttributeValue(0);55. else if(perso
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1