八月工作总结

           贴上。 

 

1, android的入门开发,基本笔记就在另一处,不在这重复了。

2, 重新又看了java基本语法,都有一年没接触面向对象编程了。

3,

   MTK项目中。

移植blog central主要涉及UI方面的修改,因为目标平台的UI架构与源平台的架构不一样。

动态列表界面实现,增删改blog central account的实现,option菜单的资源问题的解决。

         4,

使用开关控制代码,这种跟C中宏开关控制的目的一致:

         Config.xml (droid\frameworks\base\core\res\res\values)是制定全局的开关控制文件,也能说是默认开关控制。

 Config.xml (droid\vendor\cellon\vendor_overlay\【项目名】\frameworks\base\core\res\res\values)是对应项目的开关控制文件。

1)找到在config.xml中定义的字段。

    <!-- Make the phone silent when you choose silent for ringtone -->

<bool name="silent_is_choosed_ringtone">false</bool>

     定义了字段的名字以及标示开闭与否的boolean值。

     2)代码中,

boolean silentIsChoosed = context.getResources().getBoolean(

                    com.android.internal.R.bool.silent_is_choosed_ringtone);

context是个Context的structure,该值一般通过getContext()获取。

以上即可取得silent_is_choosed_ringtone的值。然后再代码中通过if判断确定该开关控制下的代码执行。

         5,

可以将界面上的widget绑定到对应的preference,然后在widget上面的数据有更新时自动更新preference文件。

                   诸如以下界面

1) 设定xml文件

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"

        android:title="@string/set_alarm">

    <CheckBoxPreference android:key="enabled"

        android:persistent="false"

        android:title="@string/enable_alarm" />

    <Preference android:key="time"

        android:persistent="false"

        android:title="@string/time"/>

    <com.android.deskclock.RepeatPreference

        android:persistent="false"

        android:key="setRepeat"

        android:title="@string/alarm_repeat" />

    <com.android.deskclock.AlarmPreference

        android:key="alarm"

        android:title="@string/alert"

        android:ringtoneType="alarm"

        android:persistent="false"

        android:showDefault="false"

        android:showSilent="true" />

    <CheckBoxPreference android:key="vibrate"

        android:persistent="false"

        android:title="@string/alarm_vibrate"/>

    <EditTextPreference android:key="label"

        android:persistent="false"

        android:title="@string/label"

        android:dialogTitle="@string/label" />

</PreferenceScreen>

 

2) 通过addPreferencesFromResource(R.xml.alarm_prefs);取得对应界面的preference。

3) 对于不同widget,创建不同widget对应的preference。

例如对于EditText这个widget,创建private EditTextPreference mLabel;

4)    

                   通过findPreference获取 对应preference。

        mLabel = (EditTextPreference) findPreference("label");

5)    

                   重载实现OnPreferenceChangeListener函数。

        mLabel.setOnPreferenceChangeListener(

                new Preference.OnPreferenceChangeListener() {

                    public boolean onPreferenceChange(Preference p,

                            Object newValue) {

                        String val = (String) newValue;

                        // Set the summary based on the new label.

                        p.setSummary(val);

                        if (val != null && !val.equals(mLabel.getText())) {

                            // Call through to the generic listener.

                            return SetAlarm.this.onPreferenceChange(p,

                                newValue);

                        }

                        return true;

                    }

                });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值