Design Guides

Android设计指南非官方简体中文版 opfun镜像地址:http://www.topfun.us/adchs/index.html Github镜像地址:http://adchs.github.io ApkBus镜像地址:http://www.apkbus.com/design/ Segmentfault镜像地址:http://mirrors.segmentfault.com/adchs/ 多看阅读镜像地址:http://www.duokan.com/book/47790 Android Cheatsheet for Graphic Designers 地址:http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/ Google Material Design 中文版 地址:http://wiki.jikexueyuan.com/project/material-design/ 地址: http://www.ui.cn/Material/ Designer’s Guide To dpi 地址:http://sebastien-gabriel.com/designers-guide-to-dpi/home Email Design Guide 地址:http://mailchimp.com/resources/email-design-guide/ Free Design Resources Google Material Design 素材(感谢 @SanityD) Material Design Icon Templates Material Design的图标集 Material Design UI Kit for Sketch Nexus 5 template for Sketch Free Design … Continue reading “Design Guides”

Android Dev Guides

Google Java编程风格指南中文版 英文地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 地址0:http://hawstein.com/posts/google-java-style.html 地址1:https://github.com/codeset/google-java-styleguide Android API指南中文版 地址:http://wiki.eoeandroid.com/Android_API_Guides Android Proguard混淆配置指南 地址:https://github.com/inferjay/AndroidProguardGuide/ Gradle插件使用指南中文版 地址:http://avatarqing.github.io/Gradle-Plugin-User-Guide-Chinese-Verision Gradle User Guide Gradle 1.12用户指南:http://pan.baidu.com/s/1dD7sC2d

Android Tools

Android SDK在线更新镜像服务器 1. 中国科学院开源协会镜像站地址: IPV4/IPV6: mirrors.opencas.cn 端口:80 IPV4/IPV6: mirrors.opencas.org 端口:80 IPV4/IPV6: mirrors.opencas.ac.cn 端口:80 2. 上海GDG镜像服务器地址: sdk.gdgshanghai.com 端口:8000 3. 北京化工大学镜像服务器地址: IPv4: ubuntu.buct.edu.cn/ 端口:80 IPv4: ubuntu.buct.cn/ 端口:80 IPv6: ubuntu.buct6.edu.cn/ 端口:80 4. 大连东软信息学院镜像服务器地址: mirrors.neusoft.edu.cn 端口:80 5. 腾讯Bugly 镜像: android-mirror.bugly.qq.com 端口:8080 腾讯镜像使用方法:http://android-mirror.bugly.qq.com:8080/include/usage.html 使用方法: 1.  启动 Android SDK Manager ,打开主界面,依次选择『Tools』、『Options…』,弹出『Android SDK Manager – Settings』窗口; 2. 在『Android SDK Manager – Settings』窗口中,在『HTTP Proxy Server』和『HTTP Proxy … Continue reading “Android Tools”

实现android应用自动更新功能

在android应用开发中,需要考虑到以后新的应用更新,所以需要实现一个自动更新功能。当用户打开应用的时候,就获得服务器上的更新文件(版本号,以及下载地址…),然后和现在使用的APP比较,如果版本低了,就提示是否下载更新,如果版本一样就直接跳过。 实现步骤: 第一步:创建一个com.jhonse.update包,此包下创建一个UpdateManager.java类。 UpdateManager类的代码如下: package com.jhonse.update; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import com.jhonse.aaa515.R; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; import android.os.Environment; import android.os.Handler; import … Continue reading “实现android应用自动更新功能”

android中webview控件实现拍照以及相册上传图片功能

在android中webview控件加载微网站时,有的时候需要通过html标签input file来上传图片,而android中webview不提供拍照以及相册上传图片功能。所以需要重新来写代码来实现通过input file 来上传图片。 开始实现input file来拍照以及相册上传图片功能。 第一步: 重载WebChromeClient类 this.appView.setWebChromeClient(new JCordovaChromeClient(this));  第二步: 给重载类添加拍照以及相册方法 // <input type=”file” name=”fileField” id=”fileField” /> // Android > 4.1.1 @SuppressWarnings(“static-access”) public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) { super.mUploadMessage = uploadMsg; this.jaaa515.startActivityForResult(createDefaultOpenableIntent(), this.FILECHOOSER_RESULTCODE); } // 3.0 + @SuppressWarnings(“static-access”) public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) { super.mUploadMessage = uploadMsg; this.jaaa515.startActivityForResult(createDefaultOpenableIntent(), this.FILECHOOSER_RESULTCODE); } … Continue reading “android中webview控件实现拍照以及相册上传图片功能”

在android中实现webview与javascript之间的交互

在android开发项目中,采用了webview控件和微网站。该项目中需要实现一个分享功能,而且是需要用javascript来调用android中定义好的分享功能,所以需要实现webview与javascript之间的交互。 一. 先说说android中webview控件如何调用javascript代码? 其实android中webview控件调用javascript方法还是比较简单,只需要设置webview支持javascript,然后用loadUrl调用javascript方法即可。实现代码如下: this.appView.getSettings().setJavaScriptEnabled(true);  javascript方法: function showDialog(info){ alert(info); }  android代码 this.appView.loadUrl(“javascript:showDialog(‘jhonse’)”);  二.  javascript调用android中自定义好的方法(例如: 分享) 需要给webview控件添加addJavascriptInterface方法,而这个就类似于初始化一个类对象,以及类对象里的方法。这个类对象就提供给javascript来调用。请看实现代码: this.appView.addJavascriptInterface(new Object() { @JavascriptInterface public void OnClick(String Subject, String Text) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType(“text/plain”); intent.putExtra(Intent.EXTRA_SUBJECT, Subject); intent.putExtra(Intent.EXTRA_TEXT, Text); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, “分享”)); } }, “JShare”); javascript调用自定义好的JShare对象。 if(window.JShare){ $(“#icon-share”).click(function(){ window.JShare.OnClick(“分享”,document.title+” “+document.URL); }); }  效果图:

【android】环境搭建(For Windows)

这两天准备写个android客户端来复习下android基础,结果一开始就困惑在android的环境搭建这一步,都快有大半年没有去接触过android,所以之前的安装突然感觉行不通了,现在的版本号已经升级了,要么就是ADT、android sdk版本号不一致?或者手机模拟器开启不了?问题多多!最后没办法,只好请谷歌老师学习学习下,于是就慢慢的知道如何去搭建了,以下为安装步骤和遇到的问题以及解决方法: 1. 安装JDK(这个就不做说明了,网上很多!) 下载地址:  http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. 安装Eclipse、android sdk、ADT, 这里可能和网上的教程不一样了,现在android官网提供了集成版的下载,也就是说把Eclipse、android sdk、ADT集成在一起了。 下载地址:http://developer.android.com.nyud.net/sdk/index.html 3.  解压下载的adt-bundle-windows-x86-20130729安装包 4. 直接运行eclipse目录下的eclipse.exe执行文件,就可以开始编写android程序了。 5.  测试hello world!请看如下截图: 问题: PANIC: Could not open: AVD 解决方法: 原因在于AVD目录找不到,所以需要配置环境变量。 AVD目录路径为:D:\My Documents\.android\avd 配置环境变量: 然后重新开启eclipse即可!

【android】调用系统自带的拨号器功能

首先先布局简单的界面: 代码如下: <?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="填写手机号码:" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/edit" /> <Button android:id="@id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="拨号" /> </LinearLayout> 然后在.java文件中添加【拨号】按钮的点击事件,以及获得编辑框对象 代码如下: private EditText m_edit; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_edit = (EditText)this.findViewById(R.id.edit); Button m_button = (Button)this.findViewById(R.id.button); m_button.setOnClickListener(new jButtonClickListener()); } public class jButtonClickListener implements … Continue reading “【android】调用系统自带的拨号器功能”

【android】华为U8500获得root权限

这两天准备给手机刷机,结果下了rom(U8500 官网android 2.2 ROM)包,准备刷的时候,出现了一个问题,提示没有获得root权限,要先获取root权限,所以只好先获取root权限。 步骤: 1. 先下载工具包 tools​​ 2. 准备工作: 保证手机已经安装了驱动,安好后设备管理器可以看见电脑设备管理器里有个 ADB interface 保证手机已经设成"调试模式",保证把工具包tools解压到了C盘根目录. 3. 关机之后,按住音量减小键和挂机键别松手,然后轻点一下开机键,等屏幕保持一个界面不动就可以松开前面两个键了. 4. 用数据线连接电脑,进入DOS窗口之后输入"cd .."回车,然后再输入"cd .."回车.然后再输入"fastboot.exe  devices"回车,会显示"?    fastboot ",然后再输入"fastboot boot boot.superboot.img"回车,这时候手机会正常的启动. 5. 稍等片刻,输入"adb devices"回车,会显示"?  device".再输入"adb shell"回车,会显示"#" 6. 同时按下电脑键盘上的CTRL和C.然后再输入"adb remount"回车,会显示"success" 7. 输入"adb push Superuser.apk /system/app"回车,再输入"adb push su /system/bin"回车,没出现错误提示就对了. 8. 输入"adb shell chmod 4777 /system/bin/su"回车,再输入"adb shell ls -l /system/bin/su"回车",会显示"-rwsrwxrwx root root 34612 2009-08-02 16:53 su" 9. 输入"adb install Root_Explorer_v2.10.2.apk "回车,就完成所有步骤了!然后就开心的去重启手机吧! 10. 完毕-获取root权限成功! … Continue reading “【android】华为U8500获得root权限”

【android】异常:java.io.FileNotFoundException:Permission Denied解决方法

  首先检查你的路径是不是对的。应该在Environment.getExternalStorageDirectory().getAbsolutePath()这个目录下写东西。    如果路径是对的,那就检查是不是给你的application添加了权限。    如果没有,在manifest中添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    如果上面的都有正确,但是仍然会上面的错误。    请检查你的avd在创建的时候有没有设置size,如果没有设置的话就重新创建一个有size的avd。