Android基础的xml文件创建,解析,以及安卓下的消息机制

2024-04-17 11:32

本文主要是介绍Android基础的xml文件创建,解析,以及安卓下的消息机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

##Android下的消息机制.
* 子线程不可以修改ui.
* 只有主线程才可以修改ui.
* 如果子线程想更新ui就必须利用消息机制处理
* Handler : 消息处理器, 可以发送消息给主线程的消息队列.
* Message Queue: 消息队列,主线程里面的一个消息队列.
* Looper : 轮询器,检查消息队列里面是否有消息.---> HandleMessage();


XML的创建,使用android自带的api
    // 1.得到xml文件的序列化器
    XmlSerializer serializer = Xml.newSerializer();
    // 2.指定序列化器的一些初始参数
    File file = new File(getFilesDir(), name + ".xml");
    FileOutputStream os = new FileOutputStream(file);
    serializer.setOutput(os, "utf-8");
    // 3.写xml文件.
    serializer.startDocument("utf-8", true); 写开头
    serializer.endDocument(); 写结尾
    serializer.startTag(null, "number"); 开始标签
    serializer.endTag(null, "number"); 结束标签
    serializer.text() 写文本标签
    serializer.attribute(null, name, value) 写属性
            
            
XML的解析,用android的api      
    //1.获取到一个xml解析器
    XmlPullParser parser = Xml.newPullParser();
    //2.设置解析器的初始化参数
    FileInputStream inputStream = new FileInputStream(file);
    parser.setInput(inputStream, "utf-8");
    //3.解析xml文件
    int type = parser.getEventType(); //得到 第一个!! 事件的类型.
    XmlPullParser.START_TAG 开始节点
    XmlPullParser.END_TAG 结束节点
    parser.nextText(); <tag>foo</tag> 取两个节点中的foo文本
    parser.getName(); 获取当前节点的名称
    parser.next(); 让解析器解析下一个节点.

      


junit单元测试
    首先要在清单文件中配置,两个标签
      <!-- 测试的指令集 --> 配置在manifest节点下!!
    <instrumentation android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="(应用程序的包名)"></instrumentation>
    
        <!--  测试需要的jar包 --> 放在application节点下!
        <uses-library android:name="android.test.runner"/>
        
        
    如果要写测试类要继承AndroidTestCase
    TestCalcService extends AndroidTestCase
    
    方法public void testAdd() throws Exception 要记得抛出异常
    
    如果忘记标签的名字怎么写了,可以创建一个android Test Project 然后看看它的AndroidManifest.xml文件,复制过去就可以了,但是要注意改包名!!

    
    
logcat  android下显示日志的位置,所有的日志都是显示在logcat里面的
        
        
        Log.v(tag , "我是verbose级别的日志");//verbose 提醒
        Log.d(tag, "我是debug级别的日志");//debug 调试
        Log.i(tag, "我是info级别的日志");//info 信息
        Log.w(tag, "我是警告级别的日志");//warn 警告
        Log.e(tag, "我是错误级别的日志");//error 错误
        Log.wtf(tag, "重大异常");// what the fuck 艹
        
        System.out.println(); //有的时候老师用这个日志是习惯问题,图方便,但是实际开发中的时候
                              //还是多用Log这种日志比较好,tag这个值一般采用当前的类名
                              
        当从logcat找错误的时候,一般先从下网上找,找到错误  --》 (例子)Cause By:NullPointException,
        然后再往下找。一直找到自己的包名,然后双击选中那一行就可以快速的定位到错误的位置!
        
        如果有的时候没有Cause By,那么就一直网上找,直到有说明的原因

这篇关于Android基础的xml文件创建,解析,以及安卓下的消息机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/911684

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步