- 浏览: 51912 次
- 性别:
- 来自: 龙岩
最新评论
-
qq184234675:
脱裤子放屁,直接给方法加 start,limit俩参数不就行了 ...
mybatis association表关联与rowbounds共同使用时的异常及其解决方案 -
flzm:
我的在代码115行报错,是properties.get(&qu ...
Android数据存储之Files -
416849838:
.................
Android控件之-RadioGroup和RadioButton -
leesazhang:
受教了。谢谢!
Android学习之MVC模式 -
drager:
不是原版吧
Android界面布局
这篇文章是转载的。。。
http://byandby.iteye.com/blog/833612
这篇文章演示2个例子 一个是发送电子邮件,一个是我们从网络上获取数据,然后显示在一个TextVew上。
通过网络来获取和保存数据资源,这个方法需要设备保持网路连接状态,所以相对存在一些限制。将数据存储到网络上的方法很多,比如将要保存的数据以文件的方式上传到服务器、发送邮件等等。在我们的这个示例中演示的是我们将在应用程序退出时,将数据发送到电子邮件中备份,要发送电子邮件首先需要在电子邮件中配置电子邮件账户。下面我们就来一步一步配置电子邮件账户。
大家去菜单里边点击电子邮件来进行配置,这里就不详细说了 具体流程看一下图片吧。
配置好电子邮件后,我们就可以通过程序来调用模拟器的电子邮件客户端发送邮件了。Android中发送电子邮件是通过 startActivity 方法来调用要发送的邮件数据的 Intent。我们可以通过putExtra 方法来设置邮件的主题、内容、附件等等。当我们点击返回按钮----> back的时候,就会出现发送邮件的界面如下图
当我们点击发送的时候就会发送到我的邮箱一封邮件 我截了图
下面我们就来看看这个发送邮件的功能是怎么实现的吧。
Activity01类
- package xiaohang.zhimeng;
- import android.app.Activity;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.view.KeyEvent;
- public class Activity01 extends Activity {
- private int miCount = 0 ;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- setContentView(R.layout.main);
- miCount = 1000 ;
- }
- public boolean onKeyDown( int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK) {
- // 退出应用程序时保存数据
- /* 发送邮件的地址 */
- Uri uri = Uri.parse("mailto:yongjinquanli@gmail.com" );
- // 创建Intent
- Intent it = new Intent(Intent.ACTION_SENDTO, uri);
- // 设置邮件的主题
- it.putExtra(android.content.Intent.EXTRA_SUBJECT, "数据备份" );
- // 设置邮件的内容
- it.putExtra(android.content.Intent.EXTRA_TEXT, "本次计数:" + miCount);
- // 开启
- startActivity(it);
- return true ;
- }
- return super .onKeyDown(keyCode, event);
- }
- }
package xiaohang.zhimeng; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.KeyEvent; public class Activity01 extends Activity { private int miCount = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); miCount = 1000; } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // 退出应用程序时保存数据 /* 发送邮件的地址 */ Uri uri = Uri.parse("mailto:yongjinquanli@gmail.com"); // 创建Intent Intent it = new Intent(Intent.ACTION_SENDTO, uri); // 设置邮件的主题 it.putExtra(android.content.Intent.EXTRA_SUBJECT, "数据备份"); // 设置邮件的内容 it.putExtra(android.content.Intent.EXTRA_TEXT, "本次计数:" + miCount); // 开启 startActivity(it); return true; } return super.onKeyDown(keyCode, event); } }
既然可以将数据发送到网络上保存,当然也可以获得网络上的数据,下面我们就演示一下怎么通过网络来读取一个文件的内容,然后将其显示在我们事先定义好的 TextView上,这需要一个web服务器了。 我用了tomcat 。我们先看看要读取的文件的内容是什么。
我们来看一下是怎么实现的,这里提醒一下大家 用中文会有中文乱码问题需要解决一下,直接看代码吧。
Activity01
- package xiaohang.zhimeng;
- import java.io.BufferedInputStream;
- import java.io.InputStream;
- import java.net.URL;
- import java.net.URLConnection;
- import android.app.Activity;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.widget.TextView;
- public class Activity01 extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- setContentView(R.layout.main);
- TextView tv = new TextView( this );
- String myString = null ;
- try {
- /* 定义我们要访问的地址url */
- URL uri = new URL( "http://192.168.0.100:8080/examples/xh.txt" );
- /* 打开这个url */
- URLConnection uConnection = uri.openConnection();
- // 从上面的链接中取得InputStream
- InputStream is = uConnection.getInputStream();
- // new 一个带缓冲区的输入流
- BufferedInputStream bis = new BufferedInputStream(is);
- /* 解决中文乱码 */
- byte [] bytearray = new byte [ 1024 ];
- int current = - 1 ;
- int i = 0 ;
- while ((current = bis.read()) != - 1 ) {
- bytearray[i] = (byte ) current;
- i++;
- }
- myString = new String(bytearray, "GB2312" );
- } catch (Exception e) {
- // 获取异常信息
- myString = e.getMessage();
- }
- // 设置到TextView颜色
- tv.setTextColor(Color.RED);
- // 设置字体
- tv.setTextSize(20 .0f);
- tv.setText(myString);
- // 将TextView显示到屏幕上
- this .setContentView(tv);
- }
- }
package xiaohang.zhimeng; import java.io.BufferedInputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.widget.TextView; public class Activity01 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = new TextView(this); String myString = null; try { /* 定义我们要访问的地址url */ URL uri = new URL("http://192.168.0.100:8080/examples/xh.txt"); /* 打开这个url */ URLConnection uConnection = uri.openConnection(); // 从上面的链接中取得InputStream InputStream is = uConnection.getInputStream(); // new 一个带缓冲区的输入流 BufferedInputStream bis = new BufferedInputStream(is); /* 解决中文乱码 */ byte[] bytearray = new byte[1024]; int current = -1; int i = 0; while ((current = bis.read()) != -1) { bytearray[i] = (byte) current; i++; } myString = new String(bytearray, "GB2312"); } catch (Exception e) { // 获取异常信息 myString = e.getMessage(); } // 设置到TextView颜色 tv.setTextColor(Color.RED); // 设置字体 tv.setTextSize(20.0f); tv.setText(myString); // 将TextView显示到屏幕上 this.setContentView(tv); } }
下面我们来看看程序运行的效果。
由于在程序中访问了外部网络,我们需要在AndroidManifest.xml 文件中给予权限,代码如下:
<uses-permission android:name="android.permission.INTERNET" />
这2个例子的源码都在附件里边。
发表评论
-
Eclipse插件
2011-04-28 15:35 2122相关JAR包: spring-framewo ... -
Android学习之MVC模式
2011-01-13 20:05 4429MVC是当前比较流行的框 ... -
Android学习之内存管理机制
2011-01-13 18:42 1189很多开发者都是从J2ME或 ... -
Android数据存储之SQLite
2010-12-29 00:28 1181这一节比较重要,SQLite是一个轻量级的数据库。 它的功能 ... -
Android数据存储之Files
2010-12-29 00:13 1024在默认状态下,文件是不能在不同的程序间共享的。用文件来存储数据 ... -
Android数据存储之SharePreference
2010-12-29 00:01 5340Shared Preferences:是用来存储“key-va ... -
Android之Handler的使用
2010-12-14 23:58 887Handler的使用: 由于Handler运行在主线 ... -
Android界面布局
2010-12-14 23:53 14241.Linearlayout:这个很常见,线性布局.大多数情况 ... -
Android控件之-Notification
2010-12-14 23:45 900状态栏提示 package com.ko8e; imp ... -
Android控件之-ProgressDialog
2010-12-14 23:42 1128对话框中的拖动条 package com.ko8e; ... -
Android控件之-SeekBar
2010-12-14 23:40 1684拖动条类似于进度条,但是进度条不可以控制。 拖动条可以被用户 ... -
Android控件之-ProgressBar
2010-12-14 23:30 1353Android手机中进度条的使用主要是两种,分别是长形进度条和 ... -
Android控件之-ImageSwitcher
2010-12-14 23:26 1022切换图片,在Android手机应用中也经常使用: packa ... -
Android控件之-Gallery
2010-12-14 23:19 841Android拖动图片: package ... -
Android控件之-Dialog
2010-12-14 23:13 1172在android中经常也能用到dialog对话框 packa ... -
Android控件之-Menu
2010-12-14 23:10 975Android中的菜单项,在Android中有个Menu按钮。 ... -
Android控件之-DatePicker和TimePicker
2010-12-14 23:04 1164显示日期和时间 这两个类很经常用得到 package co ... -
Android控件之-AutoComplete-TextView
2010-12-14 22:57 2311很多textField里面都有这种自动提示的功能: 当你输入 ... -
Android控件之-Spinner
2010-12-14 22:53 1394Android中的下拉菜单,用起来也挺舒服的。 packag ... -
Android控件之-CheckBox
2010-12-14 22:51 1497多项选择的组件主要是由CheckBox组成的 package ...
相关推荐
"android 数据存储之 Network"这个主题主要关注如何在Android应用中有效地管理和存储从网络获取的数据。在这个话题中,我们将深入探讨几种常见的数据存储方法以及它们在网络数据处理中的应用场景。 1. **Shared ...
总结来说,Android数据存储的选择取决于具体需求。SharedPreferences适合存储小量的配置数据,File适用于大文件,SQLite用于结构化数据,而Network适合处理网络数据交换,ContentProvider则用于跨应用的数据共享。...
在上一篇《Android开发之数据存储的四种方式之一:SharedPreferences》中介绍了SharedPreferences存储本地数据的应用,在这个案例里,封装了HttpURLConnection请求、HttpClient请求和AsyncHttpClient请求,将需要...
### Android 数据存储详解 #### 第一章:数据存储方式概览 在开发Android应用时,开发者需要根据实际需求选择合适的数据存储方式。本章节将详细介绍Android应用中的几种常见数据存储方式及其应用场景。 - **...
此压缩包包含一个名为"network3.android.1.3.0.apk"的应用程序,我们可以从中抽取出关于网络请求、数据传输、权限管理等多个关键知识点。 首先,我们要了解Android应用程序是如何进行网络通信的。在Android系统中,...
### 成为Android数据流大师 #### 一、Android I/O概念与重要性 在Android开发中,输入/输出(I/O)操作是非常重要的一个环节,它涉及到设备与外部世界的数据交换,包括通过网络、存储设备等多种途径进行数据的读取...
- 为了提高用户体验,数据经常会被缓存,例如使用 DiskLruCache 或 Room 数据库进行本地存储。 - HTTP响应头(如Cache-Control和ETag)可用于控制缓存策略。 8. **错误处理与重试机制**: - 网络请求可能会遇到...
今天我们在讲下Android开发笔记之Android中数据的存储方式(一) 提到的除了SharedPreferences和Files(文本文件)以外的其他几种数据储存方式:xml文件、SQLite数据和Network。 1.3 例子 3. xml: 小案例:...
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate... startActivity(new Intent(this, NetworkActivity.class)); } }
6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据存储之Network 6.5 Android数据库编程 6.5.1 SQLite简介 6.5.2 SQLite编程详解 6.5.3 SQLiteOpenHelper应用 6.6 数据共享...
在“通往Android的神奇之旅第九章Network.rar”这个压缩包中,主要涵盖了Android应用程序开发中的一个重要领域——网络编程。在Android应用开发中,网络功能是不可或缺的,它使得应用程序能够与互联网上的服务器进行...
4. **SQLite Databases**:SQLite是一个轻量级的、关系型数据库,适用于结构化的数据存储。它为Android应用提供本地存储,可以创建表、执行查询等操作。SQLite数据库是私有的,每个应用有自己的数据库,并可以通过`...
通过阅读和分析源代码,开发者可以学习到实际应用中如何处理GPS数据、如何显示在界面上以及如何存储和传输数据等。 通过以上知识点的学习,开发者能够构建一个基本的Android GPS数据收集应用,用于实验或实际项目中...
在Android平台上,应用程序的数据存储是私有的,但可以通过Content Providers实现不同程序间的数据共享。Content Providers作为Android系统中的一种机制,定义了一种统一的数据接口,允许应用之间进行数据交互。以下...
在Android平台上,GPS(全球定位系统)数据的收集是一项重要的任务,尤其对于开发者而言,它有助于构建各种基于位置的应用,如导航、健身跟踪、社交应用等。本实验程序旨在帮助理解如何在Android设备上获取和处理GPS...
内存缓存主要用于存储最近访问过的网页数据,当用户再次访问时,可以直接从内存中读取,提高加载速度。磁盘缓存则保存在设备的文件系统中,通常包括HTML、CSS、JavaScript等资源文件,能够在应用重启或网络断开后...
H264编码的数据通常由NAL单元(Network Abstraction Layer units)组成,每个NAL单元包含一个或多个视频帧的信息。 在Android中,处理H264数据的第一步是“解帧”或“分离”。这涉及到从连续的字节流中识别并提取...
本文将深入探讨如何利用CKAN(Comprehensive Knowledge Archive Network)这一领先的数据管理平台,通过Android应用进行数据访问,并在Android终端上展示数据。 CKAN是一个开源的数据平台,它旨在帮助组织管理和...
### 数据通信——成为Android数据流大师 #### 一、SD卡概述及深层次介绍 SD(Secure Digital)卡是一种用于移动设备的小型存储卡。在Android系统中,SD卡被广泛用作外部存储设备,用于存储应用程序数据、媒体文件...