当前位置:  编程技术>移动开发
本页文章导读:
    ▪Lion 隐藏了library的有关问题        Lion 隐藏了library的问题 Mac OS X Lion为了增强所谓的安全性,隐藏了一些系统文件夹,比如Library(资源库)。如此自作多情,使用起来却不太方便,特别是在中国这块神奇的土地 上,我们随.........
    ▪ 批改SeekBar样式        修改SeekBar样式 典型的SeekBar:<SeekBar            android:id="@+id/player_seekbar"           android:layout_width="245px"           android:layout_height="25px"           android:progressDrawable="@.........
    ▪ 平添一个系统服务sytem service       添加一个系统服务sytem service 方法一: 1.在应用中 com.xxx.spi.SPLListener.java/com.xxx.spi.SPIManager.java两个类 SPIManager spiManager = (SPIManager) getSystemService("spiService"); spiListener = new MySPIListener(); spiManager.requ.........

[1]Lion 隐藏了library的有关问题
    来源: 互联网  发布时间: 2014-02-18
Lion 隐藏了library的问题
Mac OS X Lion为了增强所谓的安全性,隐藏了一些系统文件夹,比如Library(资源库)。如此自作多情,使用起来却不太方便,特别是在中国这块神奇的土地 上,我们随时可能要进Library里去干一些什么事。当然可以在前往里输入文件夹路径打开文件夹,但普通用户谁又知道、谁又喜欢去输那么长一段英文呢?
如何显示?在终端中输入以下命令回车即可:
chflags nohidden ~/Library
如果想隐藏:
chflags hidden ~/Library
对于其他文件夹,只要相应更改后面的路径即可。

    
[2] 批改SeekBar样式
    来源: 互联网  发布时间: 2014-02-18
修改SeekBar样式
典型的SeekBar:
<SeekBar  
         android:id="@+id/player_seekbar" 
         android:layout_width="245px" 
         android:layout_height="25px" 
         android:progressDrawable="@drawable/seekbar_style" 
         android:thumb="@drawable/thumb" 
         android:paddingLeft="16px" 
         android:paddingRight="15px" 
         android:paddingTop="5px" 
         android:paddingBottom="5px" 
         android:progress="0" 
         android:max="0" 
         android:secondaryProgress="0" 
         />
其中android:progressDrawable="@drawable/seekbar_style"背景条配置如下:
<?xml version="1.0" encoding="UTF-8"?>  
  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
  
     <item android:id="@android:id/background">  
         <shape>  
             <corners android:radius="5dip" />  
             <gradient  
                     android:startColor="#ff9d9e9d"  
                     android:centerColor="#ff5a5d5a"  
                     android:centerY="0.75"  
                     android:endColor="#ff747674"  
                     android:angle="270"  
             />  
         </shape>  
     </item>  
  
     <item android:id="@android:id/secondaryProgress">  
         <clip>  
             <shape>  
                 <corners android:radius="5dip" />  
                 <gradient  
                         android:startColor="#80ffd300"  
                         android:centerColor="#80ffb600"  
                         android:centerY="0.75"  
                         android:endColor="#a0ffcb00"  
                         android:angle="270"  
                 />  
             </shape>  
         </clip>  
     </item>  
  
     <item android:id="@android:id/progress">  
         <clip>  
             <shape>  
                 <corners android:radius="5dip" />  
                 <gradient  
                         android:startColor="#ff0099CC"  
                         android:centerColor="#ff3399CC"  
                         android:centerY="0.75"  
                         android:endColor="#ff6699CC"  
                         android:angle="270"  
                 />  
             </shape>  
         </clip>  
     </item>  
  
</layer-list>  

或者使用图片:
<?xml version="1.0" encoding="utf-8"?>  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
       
    <item android:id="@android:id/background"   
          android:drawable="@drawable/progress_bg" />  
        
    <item android:id="@android:id/secondaryProgress"  
          android:drawable="@drawable/second_progress">  
    </item>      
       
    <item android:id="@android:id/progress"  
          android:drawable="@drawable/first_progress">  
           
    </item>   
</layer-list>

android:thumb="@drawable/thumb"就是那个可以拖动的小滑块:
<?xml version="1.0" encoding="UTF-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">        
       
    <!-- 按下状态-->  
    <item   
        android:state_focused="true"   
        android:state_pressed="true"   
        android:drawable="@drawable/thumb_pressed" />        
    <!-- 普通无焦点状态 -->  
    <item   
        android:state_focused="false"   
        android:state_pressed="false"  
        android:drawable="@drawable/thumb_normal" />              
    <!-- 有焦点状态-->  
    <item   
        android:state_focused="true"   
        android:state_pressed="false"              
        android:drawable="@drawable/thumb_focused" />         
    <!-- 有焦点 -->  
    <item   
        android:state_focused="true"              
        android:drawable="@drawable/thumb_focused" />     
</selector>


    
[3] 平添一个系统服务sytem service
    来源: 互联网  发布时间: 2014-02-18
添加一个系统服务sytem service

方法一:

1.在应用中
com.xxx.spi.SPLListener.java/com.xxx.spi.SPIManager.java两个类
SPIManager spiManager = (SPIManager) getSystemService("spiService");
spiListener = new MySPIListener();
spiManager.requestSPIUpdates(spiListener);

2.
需在android.app.ContextImpl.java中添加
private static SPIManager sSPIManager;
else if (SPI_SERVICE.equals(name)) {
            return getSPIManager();
        }

private SPIManager getSPIManager() {
        synchronized (sSync) {
            if (sSPIManager == null) {
                IBinder b = ServiceManager.getService(SPI_SERVICE);
                ISPIManager service = ISPIManager.Stub.asInterface(b);
                sSPIManager = new SPIManager(service);
            }
        }
        return sSPIManager;
    }

在android.content.Context.java中添加常量
public static final String SPI_SERVICE = "spiService";

3.com.xxx.spi.SPIManager.java
中有ISPIListerner.aidl的实现类ListenerTransport
private class ListenerTransport extends ISPIListener.Stub
ListenerTransport中有应用中注册进来的回调监听器SPIListener
ListenerTransport传给frameworks/base/services/java/com/android/server/SPIManagerrService.java服

务器类,也就是aidl的回调注册,一定是实现ISPIListener.stub的ListenerTransport类
SPIManagerService.java是通过jni调C++文件,其中需要把自己作为c++的回调对象,
在cpp文件中取得SPIManagerService类对象
static { class_init_native(); }初始化回调的方法,这样在cpp文件中就随时可以调class_init_native本地

方法中初始化过的函数。


4.frameworks/base/Android.mk文件中编译ISPIListener.aidl,ISPIManager.aidl两个文件成相应的java文件
frameworks/base/services/jni/Android.mk文件中编译同目录下的

com_android_server_SPIManagerService.cpp文件,注意cpp文件的命名与其对应的SPIManagerService.java

文件的包路径之间的关系。
同目录下的onload.cpp文件中添加
int register_android_server_SPIManagerService(JNIEnv* env);
register_android_server_SPIManagerService(env);

5.
frameworks/base/services/java/com/android/server/SystemServer.java中添加服务,并调服务的

systemReady方法
try {
                Slog.i(TAG, "---SPI Manager---");
                spiService = new SPIManagerService(context);
                ServiceManager.addService("spiService", spiService);
            } catch (Throwable e) {
                Slog.e(TAG, "---Failure starting spiService Manager---", e);
            }

if (spiServiceF != null) spiServiceF.systemReady();

6.
frameworks/base/core/jni/AndroidRuntime.cpp中添加
extern int register_android_server_SPIManagerService(JNIEnv* env);
不确定是不是必须的

方法二:

在systemserver.java中添加自己有make文件创建的包

System.loadLibrary("android_servers");
        System.loadLibrary("serialserver");


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
php iis7站长之家
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3