android小知识(2)

1.WebView属性信息:

 webView.getSettings().setSupportZoom(false);//设置WebView是否支持使用屏幕控件或手势进行缩放,默认是true,支持缩放。
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {//判断版本大于17
            webView.getSettings().setMediaPlaybackRequiresUserGesture(false);//设置WebView是否通过手势触发播放媒体,默认是true,需要手势触发。
        }
        webView.getSettings().setBuiltInZoomControls(true);//设置WebView是否使用其内置的变焦机制,该机制集合屏幕缩放控件使用,默认是false,不使用内置变焦机制。
        webView.getSettings().setDisplayZoomControls(false);//设置WebView使用内置缩放机制时,是否展现在屏幕缩放控件上,默认true,展现在控件上。
        webView.getSettings().setAllowFileAccess(false);//设置在WebView内部是否允许访问文件,默认允许访问。
        webView.getSettings().setAllowContentAccess(true);//设置WebView是否使用其内置的变焦机制,该机制结合屏幕缩放控件使用,默认是false,不使用内置变焦机制。
        webView.getSettings().setLoadWithOverviewMode(false);//设置WebView是否使用预览模式加载界面。
        webView.getSettings().setSaveFormData(false);//设置WebView是否保存表单数据,默认true,保存数据。
        webView.getSettings().setTextZoom(100);//设置WebView是否保存表单数据,默认true,保存数据。
        webView.getSettings().setUseWideViewPort(false);//设置WebView是否使用viewport,当该属性被设置为false时,加载页面的宽度总是适应WebView控件宽度;当被设置为true,当前页面包含viewport属性标签,在标签中指定宽度值生效,如果页面不包含viewport标签,无法提供一个宽度值,这个时候该方法将被使用。
        webView.getSettings().setSupportMultipleWindows(true);//设置WebView是否支持多屏窗口,参考WebChromeClient#onCreateWindow,默认false,不支持。
        webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm l);//设置WebView底层的布局算法,参考LayoutAlgorithm#NARROW_COLUMNS,将会重新生成WebView布局
        webView.getSettings().setStandardFontFamily("sans-serif");//设置WebView标准字体库字体,默认字体“sans-serif”。

等webview属性信息访问http://teachcourse.cn/android-webview-websettings

另外,webview中存在js的弹窗显示,需要手动添加,webview并不能处理js的弹窗,http://blog.csdn.net/mchenys/article/details/49930739

2.获取手机信息:

 //获取手机信息
        TelephonyManager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
        String imei = telephonyManager.getDeviceId();
        String mtype = Build.MODEL;//手机型号
        String mrelease = Build.VERSION.RELEASE;//系统版本号
        String phone_company = Build.BRAND;//手机厂商

详见:http://blog.csdn.net/hytfly/article/details/8552483

3.TextSwitcher:

设置文本滚动,交换textview文本信息的

4.apk打包:

1)android系统要求所有的app文件在android手机上都需要打包,所以系统默认自动给应用程序签名,ADT会自动使用debug密钥为应用程序签 名,debug密钥是一个名为debug.keystore的文件,位置位于电脑的:
/kang/.Android/debug.keystore,其中的kang是电脑的用户名。

2)在使用百度地图中需要apk的签名中的SHA1序列,可以找到debug.keystore的位置,使用dos命令输入:
keytool -v -list -keystore debug.keystore
密码默认为android,即可获取debug签名的SHA1序列,但是记得要在百度地图中添加开发版本的签名的SHA1的序列,如果签名不同,记得在百度地图控制台更换SHA1的序列,保证app正常使用。

3)在打包中keytool生成的mykey.keystore包括公钥、私钥和证书。
make_key通过调用openssh生成公钥和私钥,所以生成.x509.pem和.pk8的密钥对。当你获取到.x509.pem和.pk8的密钥对时,查看此网页就可以获取到SHA1序列。http://blog.csdn.net/s_targaze_r/article/details/50739802

5.EditText.addTextChanged:

editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                //输入前
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                //输入中
            }

            @Override
            public void afterTextChanged(Editable editable) {
                //输入后
            }
        });

6.url中的&

在与服务端进行数据交互的过程中,通常会使用到url,这里面存在一个url中&符号的问题。在url中会经常出现url转义出错的问题,&为&所以在传输过程中最好将url转义正确传输,在服务端也要正确接收。

String url_encode = "";
                try {
                    url_encode = URLEncoder.encode(url,"utf-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }

这里url_encode就是处理过的url保证传输不出错。

7.webview网页链接唤醒app

<intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="www.baidu.com"
                    android:scheme="http" />
                <data
                    android:host="www.baidu.com"
                    android:scheme="kang" />

            </intent-filter>

网页唤醒app不止要在app中的Mainfest里面进行更改,还要在网页链接中进行更改,app只负责接收对应的<data/>数据就可以唤醒,在目前版本,我试验了自定义的scheme为kang,kang://www.baidu.com就可以实现app的唤醒,而http://www.baidu.com使用的7.1.0版本无法实现,但是4.4.4版本网页打开就可以实现,这个可能和android的版本有关。
另外:微信中屏蔽了scheme跳转,所以一搬都是用手机游览器打开才能唤起app,另外一些手机游览器也无法做到。

8.热更新和冷更新

热更新:所谓热更新就是指代码可以不通过重新打包提交AppStore的方式来更新客户端的执行代码。
冷更新:则与热更新相反,必须通过AppStore审核才可以更新客户端版本。

目前:ios是禁止热更新的,可能是为了安全性的考虑,为用户营造一个良好的使用环境。

9.isTaskRoot()

判断本Activity是否在栈底,或者是否是第一个Activity。

10.app安装冲突

文件包与具有统一名称的现有文件包存在冲突:
1)ID相同,但签名不同的应用
2)手机上装过其他版本的该应用

11.防止apk被反编译

Android studio混淆代码:
在build.gradle中设置minifyEnabled true,就会激活apk的代码保护功能,反编译后难以查看代码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,734评论 25 707
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 12,121评论 8 72
  • 我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的...
    VincentHK阅读 975评论 0 1
  • 一直想定4月份目标,可是感觉太混乱,能量集中不了,一直拖着。 我3月份一开始决定要尝试的微商产品ki,这几天感觉有...
    Enely娟红阅读 641评论 0 0
  • 秋叶老师第一个小标用到了【做一件事,最重要的是找对套路】 套路的确很关键,很关键。 如果能全面掌握并运用“套路”的...
    是阿道阿阅读 803评论 0 0