package com.isoftstone.cry;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.isoftstone.cry.R;
public class AndroidActivity extends Activity
{
private Button myBtn ;
private Button xmlBtn ;
private TextView xmlView ;
private ImageView imageView ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/***************button**************************/
//获取按钮组件
myBtn = (Button)findViewById(R.id.button1);
//获取activity资源
Resources resources = this.getResources();
int bwidth = (int)resources.getDimension(R.dimen.btnWidth);
int bheight = (int)resources.getDimension(R.dimen.btnHeight);
System.out.println("bwidth = "+bwidth);
System.out.println("bheight = "+bheight);
myBtn.setEnabled(false);
myBtn.setWidth(bwidth);
myBtn.setHeight(bheight);
//设置背景颜色
this.getWindow().setBackgroundDrawableResource(R.color.blue_bg);
/********************xml*********************/
//设置button实例、textview实例
xmlBtn = (Button)this.findViewById(R.id.button2);
xmlView = (TextView)this.findViewById(R.id.textView1);
//设计button监听
xmlBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
int count = 0;
//解析XML文件
StringBuilder sb = new StringBuilder();
XmlResourceParser xrp = getResources().getXml(R.xml.test);
//如果没有到文件尾,继续循环
try {
while(xrp.getEventType() != XmlResourceParser.END_DOCUMENT)
{
if(xrp.getEventType() == XmlResourceParser.START_TAG)
{
String name = xrp.getName();
if(name.equals("custom"))
{
//计数器
count ++;
sb.append("第"+count+"客户信息");
sb.append(xrp.getAttributeName(0)+"\n");
sb.append(xrp.getAttributeName(1)+"\n");
sb.append(xrp.getAttributeName(2)+"\n");
}
}else if(xrp.getEventType() == XmlResourceParser.END_TAG){
}else if(xrp.getEventType() == XmlResourceParser.TEXT){
}
//下一个标签
xrp.next();
}
xmlView.setText(sb.toString());
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
/********************drawables*********************/
imageView = (ImageView)this.findViewById(R.id.imageView2);
Drawable drawable = this.getResources().getDrawable(R.drawable.psu);
imageView.setImageDrawable(drawable);
/********************layout*********************/
/********************menu*********************/
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textColor="@color/red_text" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/getXmlBtn" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="100dp"
android:src="@drawable/fc" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="100dp"/>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textColor="@color/red_text" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textColor="@color/red_text" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn" />
</TableRow>
</TableLayout>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.08"
android:text="" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<custom name="tom" age="20" email="165487@qq.com" />
<custom name="kite" age="18" email="maoiue@qq.com" />
</resources>
分享到:
相关推荐
【Android入门Demo源码详解】 Android作为全球最受欢迎的移动操作系统之一,是许多开发者入门编程的首选平台。这个“Android入门demo源码”是专为初学者设计的学习资源,旨在通过实际操作来帮助理解Android开发的...
这个“安卓Android源码——自定义控件入门级demo.zip”压缩包提供了一些基础的实例,帮助开发者了解和掌握自定义控件的基本步骤。下面将详细介绍相关知识点。 1. **自定义控件的动机**: 自定义控件的主要目的是...
本示例"Android自定义控件入门级demo.zip"将引导开发者逐步了解如何创建和使用自定义控件。下面,我们将深入探讨这个话题。 一、自定义控件的意义 在Android系统中,虽然已经提供了丰富的内置控件,如Button、...
本教程将通过一个名为"WebService入门Demo"的示例项目,探讨如何使用JSON、XML、Web Service以及UPnP(通用即插即用)技术来实现Android设备与服务器之间的通信。 首先,让我们了解一下JSON(JavaScript Object ...
然后,通过使用如SAX或Pull解析器解析XML数据,提取文章标题、链接和描述。最后,将这些信息展示在ListView或RecyclerView中,提供用户友好的界面。这一过程能帮助开发者熟悉Android与网络交互的能力,以及数据处理...
API Demo演示了如何使用HttpURLConnection、Volley、OkHttp等库进行网络请求,以及JSON解析、XML处理等数据交换技术。 4. 多媒体处理:涉及音频、视频、图像的编码解码、播放控制等,如MediaPlayer、ExoPlayer、...
**二、SDK测试Demo解析** 1. **Demo项目结构** - `DaHuaProTest`:这是测试Demo的主项目,通常包含必要的源代码、资源文件以及配置文件。 - `src`:源代码目录,其中包含Activity、Service、BroadcastReceiver等...
本示例"Android应用源码之自定义控件入门级demo"提供了一个学习和理解自定义控件基础知识的绝佳平台。以下将深入探讨这个主题,以及如何通过源码来实践。 一、自定义控件概述 自定义控件允许开发者扩展Android系统...
本文将深入解析如何实现一个Android程序自启动的Demo,适合初级开发者入门学习。 首先,我们要明白在Android 6.0(API级别23)以下,自启动的实现相对简单。从Android 6.0开始,为了优化电池寿命和用户体验,Google...
本篇将围绕"Android代码-安卓开发艺术Demo"这一主题,详细解析Android开发过程中的关键知识点,通过AndroidDevelopmentArt-master这个项目,我们将深入探讨Android应用开发的核心技术。 1. **Android Studio入门** ...
### Android入门知识详解 #### 一、新建Android工程项目 在开始Android应用开发之旅之前,首先需要熟悉如何在集成开发环境(IDE)中搭建一个基本的Android应用项目。本章节将详细介绍如何使用Eclipse来创建一个名...
1. 设置ActionBar:在Android 3.0及以上版本,系统默认提供了ActionBar,可通过在`AndroidManifest.xml`中的Activity标签添加`android:theme="@style/Theme.AppCompat"`来启用。对于更低版本,可以借助AppCompat库...
你可以通过Demo学习如何使用HttpURLConnection或OkHttp库进行网络请求,以及解析JSON或XML数据。 5. **权限管理**:Android的权限管理系统确保了应用的运行安全。你需要在Manifest文件中声明所需的权限,如访问网络...
这个"Android应用源码之自定义控件入门级demo"是专为IT计算机专业学生和移动开发App爱好者设计的学习资源,适用于毕业设计和论文研究。通过这个项目,你可以深入理解自定义控件的原理和实现步骤。 首先,我们要了解...
8. **属性回调**:使用Attrs.xml文件定义自定义属性,然后在Styleable类中解析这些属性,使其可以在XML布局文件中使用。 9. **依赖注入**:在复杂项目中,可以使用依赖注入框架(如Dagger2)来提高代码可维护性和...
这个“安卓自定义控件相关-自定义控件入门级demo.zip”压缩包包含的两个子文件,"zdyview2"和"zdyview",很可能是两个示例项目,用于帮助开发者理解和实践自定义控件的创建过程。 自定义控件通常涉及以下几个核心...
5. 设置属性:通过重写getAttributeValue()方法解析XML布局文件中的自定义属性。同时,可以使用 TypedArray 获取并设置这些属性值。 6. 注册到Android系统:在res/values/attrs.xml文件中定义自定义属性,在res/...
总的来说,大华网络摄像机Android SDK的DEMO为开发者提供了一个快速入门的平台,通过学习和实践,我们可以构建出功能丰富的Android应用,实现对大华网络摄像机的全方位控制,满足各种监控需求。无论是在家庭、商业...
本篇文章将围绕“ionic3入门级demo”进行深入解析,帮助初学者快速掌握Ionic 3的基本概念和应用。 首先,我们需要理解Ionic 3的核心组件。这些组件包括但不限于:导航(Navigation)、页面(Pages)、服务...
《ArcGIS Android 100.1.0 入门指南及Demo解析》 ArcGIS是Esri公司推出的一款强大的地理信息系统(Geographic Information System),它提供了丰富的地图制作、地理数据分析和空间信息处理功能。在移动开发领域,...