- 浏览: 881834 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- android (55)
- CSS (23)
- eclipse (25)
- Data Structes and Algorithms (53)
- J2SE (87)
- Java_面试学习_j2se (26)
- java_面试学习_非技术 (13)
- java_gui (2)
- java_设计模式 (27)
- JDBC (10)
- java_web (15)
- hibernate (5)
- Oracle (37)
- Struts2 (7)
- Word-----dos (24)
- Jbpm (3)
- java小技巧 (8)
- math (1)
- flex (12)
- WebService (4)
- 生活 (9)
- 小框架或小语言 (27)
- spring (1)
- 面试~~~软实力 (7)
- jstat的用法 (1)
- jmap (1)
- 数据链路层和传输层的流量控制区别 (1)
- shell (0)
- 财商 (1)
- javascript (0)
- js研究 (1)
- 代码收集 (0)
最新评论
-
海尔群:
http://jingyan.baidu.com/articl ...
android加密 -
完美天龙:
------------------------- ...
asm----字节码操纵 -
houniao1990:
大神,请问 string 类型 定义为 oracle的 cha ...
hibernate注解 -
JamesQian:
Line:103
f.doFilter(msg);
是否需 ...
责任链模式_过滤器模式 -
sacoole:
好评
interview--- 如何从N个数中选出最大(小)的n个数?
打电话, 文件读取与写入 ,共享偏好 ,手机中的html页面操纵
启动Android内置的拨号程序------------打电话啦
----------------------------------------------------------------
文件读取与写入
----------------------------
共享偏好对象---相当于java中的properties ,就是键值对
-------------------------------------------------------------------------------
手机中的html页面操纵
普通的带js的html页面
main.xml中有专门的webView来弄xml
处理js的类
-------------------------------------------------------------
------------------------------------------------------------
启动Android内置的拨号程序------------打电话啦
btnDial.setOnClickListener(new Button.OnClickListener(){//为按钮添加点击事件的监听器 @Override public void onClick(View v) {//重写onClick方法 Intent myIntent = new Intent(Intent.ACTION_DIAL);//创建Intent对象 Sample_3_5.this.startActivity(myIntent);//启动Android内置的拨号程序 } });
----------------------------------------------------------------
文件读取与写入
FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE);//获得FileOutputStream对象 FileInputStream fin = openFileInput(fileName);//获得FileInputStream对象 openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android 会自动创建它。创建的文件保存在/data/data/<package name>/files目录,如: /data/data/cn.itcast.action/files/itcast.txt 如果希望文件被其他应用读和写,可以传入: openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE); Activity还提供了getCacheDir()和getFilesDir()方法: getCacheDir()方法用于获取/data/data/<package name>/cache目录 getFilesDir()方法用于获取/data/data/<package name>/files目录 在程序中访问SDCard,你需要申请访问SDCard的权限。 在AndroidManifest.xml中加入访问SDCard的权限如下: <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录 File saveFile = new File(sdCardDir, “itcast.txt”); FileOutputStream outStream = new FileOutputStream(saveFile); outStream.write("传智播客".getBytes()); outStream.close(); } InputStream in = getResources().openRawResource(R.raw.test1); //从Resources中raw中的文件获取输入流 InputStream in = getResources().getAssets().open(fileName); //从Assets中的文件获取输入流 EncodingUtils.getString(buffer, ENCODING); ------- public class DatabaseHelper extends SQLiteOpenHelper { //类没有实例化,是不能用作父类构造器的参数,必须声明为静态 private static final String name = "itcast"; //数据库名称 private static final int version = 1; //数据库版本 public DatabaseHelper(Context context) { //第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类 super(context, name, null, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS person (personid integer primary key autoincrement, name varchar(20), age INTEGER)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS person"); onCreate(db); } } DatabaseHelper databaseHelper = new DatabaseHelper(HelloActivity.this); SQLiteDatabase db = databaseHelper.getWritableDatabase(); db.execSQL("insert into person(name, age) values(?,?)", new Object[]{"传智播客", 4}); db.close(); db.beginTransaction();//开始事务 try { db.execSQL("insert into person(name, age) values(?,?)", new Object[]{"传智播客", 4}); db.execSQL("update person set name=? where personid=?", new Object[]{"传智", 1}); db.setTransactionSuccessful();//调用此方法会在执行到endTransaction() 时提交当前事务,如果不调用此方法会回滚事务 } finally { db.endTransaction();//由事务的标志决定是提交事务,还是回滚事务 } db.close(); --------- Cursor cursor = db.rawQuery(“select * from person”, null); while (cursor.moveToNext()) { int personid = cursor.getInt(0); //获取第一列的值,第一列的索引从0开始 String name = cursor.getString(1);//获取第二列的值 int age = cursor.getInt(2);//获取第三列的值 } cursor.close(); db.close(); 或者: int nameIndex = cursor.getColumnIndex("name"); //获取name列的索引 int levelIndex = cursor.getColumnIndex("level"); //获取level列的索引 for(cursor.moveToFirst();!(cursor.isAfterLast());cursor.moveToNext()){ //遍历查询结果集,将数据提取出来 result = result + cursor.getString(nameIndex)+" "; result = result + cursor.getInt(levelIndex)+" \n"; }
----------------------------
共享偏好对象---相当于java中的properties ,就是键值对
sp = getPreferences(MODE_PRIVATE); //获得SharedPreferences对象 String result = sp.getString(EDIT_TEXT_KEY, null); if(result != null){ //如果获取的值不为空 etPre.setText(result); //EditText对象显示的内容设置为读取的数据 } SharedPreferences.Editor editor = sp.edit(); //获得SharedPreferences的Editor对象 editor.putString(EDIT_TEXT_KEY, String.valueOf(etPre.getText())); //修改数据 editor.commit(); //必须调用该方法以提交修改
-------------------------------------------------------------------------------
手机中的html页面操纵
普通的带js的html页面
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <script type="text/javascript"> function contactlist(jsons){ var table = document.getElementById("contactTable"); var arr = eval(jsons); for(var i=0;i<arr.length;i++){ var jsonObj = arr[i]; var tr = table.insertRow(table.rows.length); var td1 = tr.insertCell(0); var td2 = tr.insertCell(1); td2.align = "center"; var td3 = tr.insertCell(2); td1.innerHTML = jsonObj.id; td2.innerHTML = jsonObj.name; td3.innerHTML = "<a href=\"javascript:webHandler.call('"+jsonObj.phone+"')\">"+jsonObj.phone+"</a>"; } } function pageInit(){ var content = "[{id:56,name:'老张',phone:'123456789'},{id:12,name:'老比',phone:'5556'}]"; contactlist(content); } </script> <body onload="pageInit()"> <table width="100%" border="0" cellspacing="0" id="contactTable"> <tr bgcolor="#EEF7FF" style="font-size:18px;font-weight:bold;"> <td width="20%">编号</td> <td align="center">姓名</td> <td width="30%">电话</td> </tr> </table> </body> </html>
main.xml中有专门的webView来弄xml
<WebView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/webView" />
private Handler handler = new Handler(); webview = (WebView)this.findViewById(R.id.webView); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setSupportZoom(false);//设置缩放 webview.getSettings().setAppCacheEnabled(false); webview.getSettings().setAllowFileAccess(true); webview.addJavascriptInterface(new JSHandler(this,handler), "webHandler"); String url = "file:///android_asset/index.html"; webview.loadUrl(url);
处理js的类
public class JSHandler { private Context context; private WebView webView; private Handler handler; public JSHandler(Context context,Handler handler){ this.context = context; this.handler = handler; webView = (WebView)((Activity)context).findViewById(R.id.webView); } //在java中调用js的方法,并往js传递数据 public void show(){ handler.post(new Runnable() { @Override public void run() { webView.loadUrl("javascript:contactlist('"+query()+"')"); } }); } public void call(final String phone){ handler.post(new Runnable() { @Override public void run() { Toast.makeText(context, "hhh", 0).show(); context.startActivity(new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phone))); } }); } public String query(){ JSONObject jsonObject = new JSONObject(); JSONObject jsonObject2 = new JSONObject(); JSONArray arr = new JSONArray(); try { jsonObject.put("id", 56); jsonObject.put("name", "老张"); jsonObject.put("phone", "5556"); jsonObject2.put("id", 89); jsonObject2.put("name", "老放"); jsonObject2.put("phone", "5558"); arr.put(jsonObject); arr.put(jsonObject2); } catch (JSONException e) { } return arr.toString(); } }
-------------------------------------------------------------
------------------------------------------------------------
发表评论
-
EditText失去焦点
2011-12-25 13:57 1107<LinearLayout andr ... -
调用照相机和相册
2011-12-21 19:26 1510直接下代码看吧。。 ... -
wifi流程详细分析
2011-12-09 23:56 10946一.启动wifi服务 1.在 S ... -
Android WifiManager 常量
2011-12-09 00:20 6058ACTION_PICK_WIFI_NETWORK Activ ... -
android 探索首选项框架xxxPreference
2011-12-08 20:50 1784http://blog.csdn.net/qinjuning/ ... -
Wifi
2011-12-02 15:02 1729. Confirm if Wifi is On Usin ... -
Tab
2011-12-01 16:02 1280public class MyTab extends ... -
color
2011-12-01 10:48 1130<?xml version="1.0&qu ... -
EditText属性解释
2011-12-01 09:31 2447EditText继承关系:View-->TextView ... -
Android之Inflate()方法用途
2011-11-30 10:40 3220原文: Inflate()作用就是将xml定义的一个布局找出 ... -
android 自定义listview无法响应点击事件OnItemClickListener
2011-11-29 22:34 2810如果你的自定义ListViewItem中有Button或者 ... -
事件event
2011-11-29 22:34 1029private class OnItemClickLis ... -
gridView ---图片显示类九宫格
2011-12-01 09:23 3174<GridView xmlns:android= ... -
Image gallery
2011-11-25 14:36 5<ImageSwitcher ... -
Image gallery
2011-11-25 14:36 1139public class ImageShowActiv ... -
Image gallery
2011-11-25 14:36 4public class ImageShowActiv ... -
Image gallery
2011-11-25 14:36 4public class ImageShowActiv ... -
Image gallery
2011-11-25 14:36 4public class ImageShowActiv ... -
Menu
2011-11-25 11:22 1059按menu按钮弹出来的东西 public static ... -
listView
2011-11-25 10:35 2208android.R.layout.simple_list_it ...
相关推荐
本文将深入探讨"AMap_Android_API_Demo_V2.0.4(Location_API_V1.0.2)"中的核心知识点,包括高德地图API的使用、定位服务的实现以及源码分析。 一、高德地图Android API介绍 高德地图Android API是高德地图为开发者...
【Android_API_Demo】是一个专为Android初学者设计的实践项目,它包含了Android开发中常用API的各种示例代码,帮助开发者了解并掌握Android组件的使用方法。在这个项目中,你可以找到关于活动(Activity)、意图...
这个名为"Android_API.rar_andriod_andriod 开发_android"的压缩包,显然包含了一份深入探讨Android API的资源——"Android_API.chm",这可能是详细文档或教程,旨在帮助开发者更好地理解和运用Android API进行应用...
【Android高级应用源码-AMap_Android_API_Demo_V2.0.4】是一个针对Android平台的高德地图API的示例项目,主要用于展示如何在Android应用中集成和使用高德地图服务。这个源码库是开发者学习和实践地图功能的理想资源...
手册首先介绍了一些常用的缩略词和缩写,例如Android Support、Prerequisites等,为理解整个API环境作准备。 接着,文档详细介绍了D2xx库的软件包结构。包括了com.ftdi.j2xx包,其中还展示了类的继承层次结构,让...
在"android_stduio_serial_jni_api"这个主题中,我们将深入探讨如何在Android Studio中使用JNI来实现串口通信功能。串口通信是一种常用的数据传输方式,尤其在物联网(IoT)设备和嵌入式系统中广泛使用。 首先,了解...
`TextView`是Android开发中最常用的控件之一,了解其API属性对于实现丰富的用户界面至关重要。通过以上介绍,我们可以看到`TextView`具有强大的灵活性和可配置性,可以根据不同的需求进行定制化设置。希望本文能帮助...
- Android 6.0(API 23)及以上版本需要在运行时动态请求权限。 7. **异步处理**: - 音频加载、网络请求等耗时操作应放在子线程中,避免阻塞主线程,保证用户体验。 - 可以使用AsyncTask、Handler或RxJava等...
Android 常用的 API 接口调用 Android 操作系统提供了许多有用的 API 接口,开发者可以通过这些接口调用来实现各种功能。本文将对 Android 常用的 API 接口调用进行归类和详细介绍。 显示网页 要在 Android 应用...
Android_API中文帮助文档是开发者在进行Android应用开发时的重要参考资料,它详尽地阐述了Android应用程序接口(API)的各种功能和用法。这份文档通常包括类库、方法、接口、枚举、注解等各类编程元素的说明,帮助...
总之,AMap__API_Demo_V2.0.4和Location_API_V1.0.2是Android开发者进行地图应用开发的重要资源。通过深入研究和实践,开发者可以掌握高德地图API的各项功能,从而构建出功能强大、用户体验优秀的地图应用。
ADB(Android Debug Bridge)是Android系统开发者常用的工具之一,它提供了一个命令行接口,用于连接、控制设备或模拟器,进行各种调试操作。在"adb_api.rar_ADB api"这个压缩包中,主要包含了`adb_api.cpp`这个源...
然而,`Gallery`在API 21(Android 5.0 Lollipop)之后已被弃用,取而代之的是更灵活的`RecyclerView`和`ViewPager`。尽管如此,我们仍然可以从`Gallery`中学习到如何实现横向滚动和触摸交互的原理。 `...
`MimeMessage`是JavaMail API中最常用的邮件消息类,它可以处理多部分消息,包括文本、HTML、附件等。 4. **MimeMessage**: 创建邮件实例,设置发件人、收件人、主题和正文。例如: ```java MimeMessage message ...
Android平台上的日历应用是一个常用且功能丰富的组件,对于开发者来说,理解并创建这样的小应用能深入掌握Android系统的核心功能。本教程将围绕"Android_calendar.rar"这个压缩包,介绍如何在Android平台上构建一个...
Android提供了丰富的API来支持开发者进行自定义绘图,使得我们可以创建出独具特色的UI元素。本资料主要围绕"android_draw.rar"展开,详细介绍了Android中的绘图基础知识及其常用方法。 一、Canvas与Paint 1. Canvas...