Android 知识积累一

1 Android 语言的国际化

internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,
localization(本地化 ),简称L10n。
一般用语言_地区的形式表示一种语言,如  zh_CN, zh_TW.

适配多种语言方法

在[Android](http://lib.csdn.net/base/android)工程的res目录下,通过定义特    
殊的文件夹名称就可以实现多语言支持。比如我们的程序兼容简体中文、
英文,在values文件夹中建立默认strings.xml,再建立values-zh-rCN文件
夹。

在每个文件夹里放置一个strings.xml,strings.xml里是各种语言字符串。如
果涉及到参数配置类xml文件夹名称也要改成xml-zh、xml。这样在android
的系统中进行语言切换,所开发的程序也会跟着切换语言。

2 Apk的签名文件的作用

作用是:就是区分apk身份的标识
签名完成后,你可以用winrar打开apk,在Meta-inf目录下,用文本编辑
器打开CERT.RSA文件,如果能看到部分你建的key时候输入的文本就是
正式签名了,如果测试签名会有debug字样。(一般情况会乱码,但是用
肉眼仔细观察,你就能略微的看清楚一些啦)值得提醒的就是,软件代
码更新后(需要发布新的APK了),要将ManifestAndroid:versionCode
值+1,每更新一次都要加1。

3 APK的发布

根据要发布的市场进行相关的操作,待完善中……

4 拼接jsonArray的方法

拼接JsonArray 用的方法是:
创建一个JsonArray 集合
通过创建JsonObject 对象,我们通过添加对象的形式进行拼接

如:JSONArray jsonArray = new JSONArray();
       JSONObject jsonObject1 = new JSONObject();
       jsonObject1.put("orderId", commentorderId);
       jsonObject1.put("verifyCount", commentnum);
       jsonArray.put(jsonObject1);
 有几个对象我们就以这个形式进行添加就可以了。

5 listview的Adapter中控件的点击事件总结

使用listview进行数据的展示,我们要点击item里面的控件,进行操作,
我们设置监听必须放在Adapter中的getview方法中进行,
第一种方法:如果我们要动态的获取条目的索引position,那么我们就必
须进行设置的监听必须直接进行书写,不是setOnclickListener(this)这
种,setOnclickListener(new OnclicLisenter){}这种。这样我们就可以
动态的获取position。
第二种方法:动态获取position我们还有另外的一种方法,就是通过我们
的插件黄油刀,我们在viewholder我们进行控件的初始化,对我们要进行
的控件设置点击事件,我们动态获取position用到的方法是,我们在
getview中通过viewholder.setPosition(position);通过这个方法,动态把
position传递给viewholder,在viewholder 中我们把这个postion保存成成
员变量。我们点击事件就可以直接使用这个position。

6 Activity向Fragment进行传值

项目中用到碎片时的困难,我们获取数据是在fragment 中进行获取的,
但是我们首先要初始一个页面,初始页面的时候我们如果需要Activiy 向
fragment 中进行传递参数,我们就需要在fragment进行动态替换之前进
行传递。
···
FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction ft = fragmentManager.beginTransaction();
            WaitRentFragment waitRentFragment = new 
WaitRentFragment();
            Bundle bundle = new Bundle();
            bundle.putString("rentOrderId",rentOderId);
            waitRentFragment.setArguments(bundle);
            ft.replace(R.id.fl_snowTools,waitRentFragment);
            ft.commit();
···
总结:我们传值用的是bundle进行传递。

7 fragment 碎片,

7.1 切换保存状态

我们动态切换页面要保存页面的状态,我们不能用replace,用hide 和 show,进行页面的切换
核心代码是:
我们首先进行fragment的初始化,把他们添加到集合中,如果我们进行
切换我们只需要调用switchFragment(int position),这个方法,把我们
fragment在集合的索引传递过去就完成了切换。
···
private void initFragment() {

    fragmentList.add(new WaitRentFragment());
    fragmentList.add(new WaitBackFragment());


    }
···
private void switchFragment(int position) {
    FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
    for (int i = 0; i < fragmentList.size(); i++) {

        android.app.Fragment fragment = fragmentList.get(i);
        if (i == position) {
            if (fragment.isAdded()) {
                fragmentTransaction.show(fragment);
            } else {
                Bundle bundle = new Bundle();
                bundle.putSerializable("orderId", rentOderId);
                fragment.setArguments(bundle);
                fragmentTransaction.add(R.id.fl_snowTools, fragment);

            }


        } else {
            if (fragment.isAdded()) {

                fragmentTransaction.hide(fragment);

            }
        }
    }

    fragmentTransaction.commitAllowingStateLoss();
}

7.2 fragment向Activity进行传递值

//我们采用的方式是用回调的方式,例如我们fragment需要向依赖的
Activity进行传递值的场景,这个时候我们就需要回调进行数据的回传
···
fragment 中的代码
···
@Override
 public void onAttach(Activity activity) {
    super.onAttach(activity);

    callback = (CallBack) getActivity();

    }
//释放我们的activity,避免出现异常
@Override
    public void onDestroy() {
    super.onDestroy();
    callback = null;
    }
//定义回调接口,在我们需要回调数据的地方,调用callback.getData(传入我们需要回掉的数据);
public interface CallBack {

    void getData(String s);

    void getShowData(List<RentToolsInfo.DataBean> data);
}
···
···
Activity中代码
我们首先要让我们的activity实现我们fragment中创建的接口,会实现
    我们接口定义好的方法,我们可以在这个方 法里进行我们的逻辑作
    业。
···

7.3 fragment向Activity传递数据自己遇到的坑

逻辑我们在这个fragment中通过回调把我们的data数据已经传递给我们的
activity,我们activity获得这个数据后,需要把其传递到我们租赁成功
面,进行数据的展示,我们报的错误是 传递的值是没有序列化,
但是我们的bean已经序列化了,这是个误区,我们还需要把其需要传递
的内部的类也进行序列化,这样我们就解决了这个问题。

8 Android 原生定义图片

使用shape 我们可以定义圆 椭圆 矩形 线,我们可以设置填充色

9 checkbox和TextinputLayout 选中和动画字体的颜色设置

9.1 checkbox 我们设置被选择的颜色

我们是定义一个style,通过colorAccent 设置选中的颜色
 <style name="cb_color" parent="Theme.AppCompat.Light.DarkActionBar">
     <item name="colorAccent">#3293ef</item>
 </style>

9.2 TextInputLayout 动态的字体的颜色设置

我们是通过主题的colorAccent 进行颜色的设置。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">#3293ef</item>
    <item name="android:windowNoTitle">true</item>

    </style>

10 java String 串相关的API

10.1、indexOf() 方法,含义是返回指定字符第一出现的索引。

public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如.     果此字符串中没有这样的字符,则返回 -1。
public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

10.2、substring()方法

substring() 方法返回字符串的子字符串。
public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)
beginIndex -- 起始索引(包括), 索引从 0 开始。如果没有限制endindex,会.       返回全部。
endIndex -- 结束索引(不包括)。

10.3、在项目中使用的地方是:

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,400评论 25 707
  • 该吃苦的年纪,不要选择安逸!如果现在的你不努力过上自己想要的生活,那以后,你会花更大把的时间,去应付自己不想...
    桃夭灼华娜娜阅读 231评论 0 1
  • 文丨月方 中国女排时隔12年,再次在2016年的里约奥运会获得了世界冠军,现场中国人集体落泪,国内的人们在电视机前...
    月方阅读 1,147评论 0 0
  • 1 天亮了 篱笆墙上探出了 一排排蓝色的笑脸 2 蝴蝶起床后 径自飞到小路旁 试穿那些五颜六色的花衣裳 于2017...
    简JN阅读 253评论 20 19
  • 尚未佩妥剑,转眼便江湖。 愿历尽千帆,归来仍少年。
    棠梨绘月阅读 296评论 0 0