当前位置:  编程技术>移动开发
本页文章导读:
    ▪2013年三月17日        2013年3月17日1、EditText隐藏输入的密码        利用EditText作为密码输入是现在许多应用程序会用到的方式,下面是两种设置密码隐藏/可见的方式: 在布局文件中设置其password属性:   <Edit.........
    ▪ 手机自动识别,智能装配驱动,智能管理手机信息        手机自动识别,智能安装驱动,智能管理手机信息QQ: 2506314894 市面上的手机助手软件很多,实现的功能基本都一样,花了很长时间这个手机助手最终小有成效,实现了市面上那些助手的所有.........
    ▪ 背景圆角及图片圆角处置       背景圆角及图片圆角处理背景圆角及图片圆角处理 ......

[1]2013年三月17日
    来源: 互联网  发布时间: 2014-02-18
2013年3月17日

1、EditText隐藏输入的密码

       利用EditText作为密码输入是现在许多应用程序会用到的方式,下面是两种设置密码隐藏/可见的方式:

在布局文件中设置其password属性:  

<EditText
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:password="true"/>

在代码中这样使用:

      

 //设置EditText内容为可见
et01.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
              //设置EditText内容为不可见
et01.setTransformationMethod(PasswordTransformationMethod.getInstance());

 

2、监听EditeText用户输入:setOnKeyListener事件

       EditText Widget设计的初衷是为了等待User输入而准备的,那么在User输入的同时,就可以使用setOnKeyListener事件对用户在EditText中的按键进行监听并截获,不过这种方式只能监听硬盘事件,无法监听软盘;

       还可以使用TextWatcher类,这种方式是可以监听软键盘和硬键盘的,我们只需要实现onTextChanged方法即可,另外TextWatcher还提供了beforeTextChanged和afterTextChanged方法,用于更加详细的输入监听处理。

下面的程序是将截获的内容显示在一个TextView中:

import android.app.Activity;
import android.os.Bundle;
importandroid.text.Editable;
importandroid.text.TextWatcher;
import android.util.Log;
import android.view.Menu;
importandroid.widget.EditText;
importandroid.widget.TextView;
 
public class MainActivityextends Activity {
 
       TextView textView01;
       EditText editText01;
      
       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
             
              textView01 = (TextView)findViewById(R.id.textView01);
              editText01 = (EditText)findViewById(R.id.editText);
              editText01.addTextChangedListener(new TextWatcher() {
                    
                     public void onTextChanged(CharSequence s, intstart, int before, int count) {
                            Log.i("输入", s +"/" + start + "/" + before + "/" + count);
                            textView01.setText(editText01.getText());
                     }
                    
                     public void beforeTextChanged(CharSequence s,int start, int count,
                                   int after) {
                            Log.i("输入", s +"/" + start + "/" + count);
                     }
                    
                     public void afterTextChanged(Editable s) {
                            Log.i("输入", s +"");
                     }
              });
             
       }
 
       @Override
       public boolean onCreateOptionsMenu(Menu menu) {
              // Inflate the menu; this adds items to the action barif it is present.
              getMenuInflater().inflate(R.menu.main, menu);
              return true;
       }
}

 


    
[2] 手机自动识别,智能装配驱动,智能管理手机信息
    来源: 互联网  发布时间: 2014-02-18
手机自动识别,智能安装驱动,智能管理手机信息

QQ: 2506314894

市面上的手机助手软件很多,实现的功能基本都一样,花了很长时间这个手机助手最终小有成效,实现了市面上那些助手的所有的功能。手机助手最基本功能

1:  自动识别手机

2:智能安装手机驱动

3:PC 端和手机端的连接。 这里面涉及到ADB 的一些连接问题。

4:PC 端和手机端的信息交换。

分别简单说一下以上的各个步骤

1) 自动识别

       如果需要识别市面上的手机,有些童鞋认为依靠ADB 就可以识别,但是据我所知,第一个阶段的识别跟ADB 貌似没有多大的关系,需要有一个完整的数据库,PC 端收到USB的消息之后,检测USB 的各种消息,然后将USB 的信息发到服务器,由服务器返回识别到的手机信息。所以这个阶段 数据库的收集是关键。

 

2) 智能安装驱动

       每个手机厂家都会有适合的手机驱动,而且可能不止一个驱动,比如32位系统和64位系统,WIN7,XP,WIN8 等都有可能不同,所以这一步需要搜集手机的驱动。当识别到一个手机的时候带上手机的信息向服务器询问驱动的下载地址。然后下载驱动。驱动下载回来之后那就是安装的过程。安装驱动也有一些复杂,驱动分为exe,msi,inf 三种格式,前面两种的很容易搞定,最难搞定的是inf格式的驱动,微软提供了一个dpinst.exe安装工具,但是貌似这个极度的不靠谱,需要自己编写程序安装驱动。

 

3) PC端和手机端连接

     前两步完成之后,就需要连接手机了,连接手机ADB 这个是必须的,关于如何使用ADB 可以去网上找教程。这里需要提到一点,所有的助手都没有使用谷歌自动的adb程序,关于具体原因可以查看我的一篇专门关于adb的帖子。

 

4) PC 端和手机端的信息交换

      到了这一步那基本就大功告成了,已经和手机建立了连接,手机助手所有的功能都不是问题,比如获取手机的信息,传输视频音乐,通讯录等等。

 

在整个的开发过程中主要是PC端的技术问题需要解决,手机端基本没有什么难题,更多的关键技术都在PC端和数据的收集。

经过这么长时间的研究和运营,我已经收集了基本上所有的手机信息以及驱动信息,并且在持续的更新中。

在我的资源共享里面可以下载到手机助手的试用版。由于服务器没有维护,所以内嵌的网页已经不能使用了。正常是可以一键安装的。


    
[3] 背景圆角及图片圆角处置
    来源: 互联网  发布时间: 2014-02-18
背景圆角及图片圆角处理
背景圆角及图片圆角处理
.配置文件实现
<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/icon_home_button_img"/> 
<item android:drawable="@drawable/icon_home_shape_overlay"/> </layer-list> 
icon_home_shape_overlay如下
<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#60000000"/> 
<stroke android:width="3dp" color="#ff000000"/> 
<corners android:radius="10dp" /> 
</shape> 
或者直接使用一种效果
<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#99FFFFFF"/> 
<corners android:radius="30px"/> 
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
然后 android:background="@drawable/my_shape_file" 


2.图片本身加上圆角
Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded 
int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight(); 

Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(rounder);   

Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 
xferPaint.setColor(Color.RED); 

canvas.drawRoundRect(new RectF(0,0,w,h), 20.0f, 20.0f, xferPaint); 

xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); 
canvas.drawBitmap(myCoolBitmap, 0,0, null); 
canvas.drawBitmap(rounder, 0, 0, xferPaint); 
或者
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
        bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;
    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
    final RectF rectF = new RectF(rect);
    final float roundPx = 12;

    paint.setAntiAlias(true);
    canvas.drawARGB(0, 0, 0, 0);
    paint.setColor(color);
    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint);

    return output;
}

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android消息处理机制Looper和Handler详解 iis7站长之家
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪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