- 浏览: 50505 次
- 性别:
- 来自: 龙岩
最新评论
-
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 2068相关JAR包: spring-framewo ... -
Android学习之MVC模式
2011-01-13 20:05 4386MVC是当前比较流行的框 ... -
Android学习之内存管理机制
2011-01-13 18:42 1160很多开发者都是从J2ME或 ... -
Android数据存储之SQLite
2010-12-29 00:28 1137这一节比较重要,SQLite是一个轻量级的数据库。 它的功能 ... -
Android数据存储之Files
2010-12-29 00:13 975在默认状态下,文件是不能在不同的程序间共享的。用文件来存储数据 ... -
Android数据存储之SharePreference
2010-12-29 00:01 5303Shared Preferences:是用来存储“key-va ... -
Android之Handler的使用
2010-12-14 23:58 857Handler的使用: 由于Handler运行在主线 ... -
Android界面布局
2010-12-14 23:53 13871.Linearlayout:这个很常见,线性布局.大多数情况 ... -
Android控件之-Notification
2010-12-14 23:45 861状态栏提示 package com.ko8e; imp ... -
Android控件之-ProgressDialog
2010-12-14 23:42 1098对话框中的拖动条 package com.ko8e; ... -
Android控件之-SeekBar
2010-12-14 23:40 1641拖动条类似于进度条,但是进度条不可以控制。 拖动条可以被用户 ... -
Android控件之-ProgressBar
2010-12-14 23:30 1324Android手机中进度条的使用主要是两种,分别是长形进度条和 ... -
Android控件之-ImageSwitcher
2010-12-14 23:26 992切换图片,在Android手机应用中也经常使用: packa ... -
Android控件之-Gallery
2010-12-14 23:19 809Android拖动图片: package ... -
Android控件之-Dialog
2010-12-14 23:13 1112在android中经常也能用到dialog对话框 packa ... -
Android控件之-Menu
2010-12-14 23:10 946Android中的菜单项,在Android中有个Menu按钮。 ... -
Android控件之-DatePicker和TimePicker
2010-12-14 23:04 1137显示日期和时间 这两个类很经常用得到 package co ... -
Android控件之-AutoComplete-TextView
2010-12-14 22:57 2275很多textField里面都有这种自动提示的功能: 当你输入 ... -
Android控件之-Spinner
2010-12-14 22:53 1365Android中的下拉菜单,用起来也挺舒服的。 packag ... -
Android控件之-CheckBox
2010-12-14 22:51 1434多项选择的组件主要是由CheckBox组成的 package ...
相关推荐
NULL 博文链接:https://byandby.iteye.com/blog/833612
在上一篇《Android开发之数据存储的四种方式之一:SharedPreferences》中介绍了SharedPreferences存储本地数据的应用,在这个案例里,封装了HttpURLConnection请求、HttpClient请求和AsyncHttpClient请求,将需要...
今天我们在讲下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 数据共享...
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.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 数据共享...
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...
如何通过Shared Preferences、Files、Network和SQLite等方式高效实现Android数据的存储?又如何通过Content Providers轻松地实现Androld数据的共享? 如何使用Open Core、MediaPlayer、MediaRecorder方便快速地...
Android Network数据存储应用实例-附源码
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 ...• SQLite SQLite SQLite SQLite 用作结构化的数据存储 • 多媒体支持 包括常见的音频、视频和...
·如何通过shared preferences、files、network和sqlite等方式高效实现android数据的存储?又如何通过content providers轻松地实现android数据的共享? ·如何使用open core、mediaplayer、mediarecorder方便...
请介绍下Android的数据存储方式。 答:SharedPreferences键值对的存储 SQlite数据库存储 Files文件存储 NetWork网络存储 ContentProvider 7. 请介绍下ContentProvider是如何实现数据共享的。 答:...
Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description ...
数据存储Data Storage 52 概览Storage quickview 52 系统偏好:快速,轻量级存储 52 文件:存储到设备内部或可移动闪存 52 数据库:任意的结构化存储 52 支持基于网络的存储 52 系统偏好...
CommonLibrary主要是自己整理的一些项目开发中常用的工具类、通用UI的集合,目前在不断的更新中,尽可能的覆盖Android开发中通用的一些东西 。 > anim > -- AnimationUtils、ViewAnimationUtils。动画工具类,也可...
其实手机在网络方面的的...<uses android:name=android.permission.ACCESS_NETWORK_STATE/> <uses android:name=android.permission.INTERNET> 2、新建一个Application类并继承android.app.Application 申明变量保存