当前位置:  编程技术>移动开发
本页文章导读:
    ▪腾挪开发视频资源百度网盘地址分享        移动开发视频资源百度网盘地址分享 四套android+一套cocos2d-x+一套windowphone8视频教程(共享版) 由于之前有出现过,百度网盘分享的链接莫名其妙失效的情况,所以这里我直接给出分享账户.........
    ▪ 电磁场传感器(指北针)        磁场传感器(指北针)     准备一张名为arrow的指北针图片,一张名为background的背景图片。     在main.xml中:   <?xml version="1.0" encoding="utf-8"?> <LinearLayout     xmlns:android="http://schemas.a.........
    ▪ MD5加密示范       MD5加密示例下面是一个MD5的Demo. public class Demo{ public static void main(String args[]){ MessageDigest digest=MessageDigest.getInstance("MD5"); String pwd="123456"; byte bytes[]=digest.digest(pwd.getBytes()); .........

[1]腾挪开发视频资源百度网盘地址分享
    来源: 互联网  发布时间: 2014-02-18
移动开发视频资源百度网盘地址分享
四套android+一套cocos2d-x+一套windowphone8视频教程(共享版)

由于之前有出现过,百度网盘分享的链接莫名其妙失效的情况,所以这里我直接给出分享账户的主页,需要下载的童鞋自行选择需要的教程进行下载,我就不一一列出来了

百度网盘地址:http://pan.baidu.com/share/home?uk=1882162285

上述的课程,都可以在网盘地址中的“android视频教程2013”中找得到~~~

《android深入浅出》,特点:讲解透彻且通俗易懂,涵盖了android重要知识点,十分适合于初学者学习。
《android高级应用开发》 国内第一套系统全面深入基于Android源码学习Android的应用开发,Framewrok开发。
《android嵌入式底层开发》从Linux,Linux开发,ARM裸板开发,Linux内核开发一直到Android内核修改以及系统移植等各个方面进行学习。
《android从程序员到架构师之路》android大牛高焕堂倾力之作,以Android开源的代码来阐述其幕后的 UI、IPC、HAL等架构的设计思维和技巧。让你在活泼的过程中,轻松地从原本的代码世界,迅速熟悉设计的新天地。
《cocos2d-x跨平台游戏开发》cocos2d-x官方推荐教材,cocos2d-x核心开发者全力之作,多年游戏使用技术首次吐露。商业级项目再现“策划-开发-发布”全过程。
《windowsphone8高级编程》深入剖析数据存储、图片处理、感应编程、推送等、实力实训深刻理解windowsphone 8编程方式!


    
[2] 电磁场传感器(指北针)
    来源: 互联网  发布时间: 2014-02-18
磁场传感器(指北针)



 

 

准备一张名为arrow的指北针图片,一张名为background的背景图片。

 

 

在main.xml中:

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

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

  android:orientation="vertical"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:background="@drawable/background">

  <com.li.sensor.ArrowView

      android:layout_width="fill_parent"

     android:layout_height="wrap_content"  />

</LinearLayout>

 

 

 

 

 

在ArrowView.java中:

 

package com.li.sensor;

 

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.util.AttributeSet;

import android.view.View;

 

public class ArrowView extends View implements SensorEventListener {

  private Bitmap comp = null;

  private float[] allValue;

 

  public ArrowView(Context context, AttributeSet attrs) {

     super(context, attrs);

//   super.setBackgroundColor(Color.WHITE); // 底色为白色

     this.comp = BitmapFactory.decodeResource(super.getResources(),

         R.drawable.arrow);

     SensorManager manager = (SensorManager) context

         .getSystemService(Context.SENSOR_SERVICE); // 现在只是找到了一个传感器,但是没有定义类型

     manager.registerListener(this,

         manager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),

         SensorManager.SENSOR_DELAY_GAME); // 创建了一个适合于游戏操作的磁场传感器

  }

 

  public void onAccuracyChanged(Sensor sensor, int accuracy) {

 

  }

 

  public void onSensorChanged(SensorEvent event) { // 传感器方位改变

     if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) { // 现在是方位传感器

       float value[] = event.values; // 取得所有的偏离数据

       ArrowView.this.allValue = value; // 取得三个轴的值

       super.postInvalidate(); // 主线程的现实需要重绘

     }

  }

 

  @Override

  protected void onDraw(Canvas canvas) {

     super.onDraw(canvas);

     Paint p = new Paint(); // 根据传感器的数值来改变球的速度

     if (this.allValue != null) { // 已经取得了数据

       float x = this.allValue[0] ;

       float y = this.allValue[1] ;

       canvas.restore(); // 重置绘图对象

       // 设置以屏幕中心点作为旋转中心

       canvas.translate(super.getWidth() / 2, super.getHeight() / 2) ;

       // 判断y轴是否为0的旋转角度

       if (y == 0 && x > 0) {

         canvas.rotate(90) ;  // 旋转角度为90度

       } else if (y == 0 && x < 0) {

         canvas.rotate(270) ; // 旋转角度为270度

       } else { // 根据x和y的值计算旋转角度,而这个角度就是依靠tan()值来计算

         if(y >= 0) {

            canvas.rotate((float) Math.tanh(x / y) * 90);

         } else {

            canvas.rotate(180 + (float) Math.tanh(x / y) * 90);

         }

       }

     }

     canvas.drawBitmap(this.comp, -this.comp.getWidth() / 2,

         -this.comp.getHeight() / 2, p);

  }

 

}

 

 

 

 

 

 

 

在BallView.java中:

 

package com.li.sensor;

 

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Point;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.util.AttributeSet;

import android.view.View;

 

public class BallView extends View implements SensorEventListener {

  private Bitmap ball = null;

  private float[] allValue;

  private Point point = new Point();

  private int xSpeed = 0;

  private int ySpeed = 0;

 

  public BallView(Context context, AttributeSet attrs) {

     super(context, attrs);

     super.setBackgroundColor(Color.WHITE); // 底色为白色

     this.ball = BitmapFactory.decodeResource(super.getResources(),

         R.drawable.ball);

     SensorManager manager = (SensorManager) context

         .getSystemService(Context.SENSOR_SERVICE); // 现在只是找到了一个传感器,但是没有定义类型

     manager.registerListener(this,

         manager.getDefaultSensor(Sensor.TYPE_ORIENTATION),

         SensorManager.SENSOR_DELAY_GAME); // 创建了一个适合于游戏操作的方位传感器

  }

 

  public void onAccuracyChanged(Sensor sensor, int accuracy) {

 

  }

 

  public void onSensorChanged(SensorEvent event) { // 传感器方位改变

     if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { // 现在是方位传感器

       float value[] = event.values; // 取得所有的偏离数据

       BallView.this.allValue = value; // 取得三个轴的值

       super.postInvalidate(); // 主线程的现实需要重绘

     }

  }

 

  @Override

  protected void onDraw(Canvas canvas) {

     super.onDraw(canvas);

     Paint p = new Paint(); // 根据传感器的数值来改变球的速度

     if (this.allValue != null) { // 已经取得了数据

       this.xSpeed = (int) -this.allValue[2]; // 计算X轴速度

       this.ySpeed = (int) -this.allValue[1];

     }

     this.point.x += this.xSpeed;

     this.point.y += this.ySpeed;

     if (this.point.x < 0) {

       this.point.x = 0;

     }

     if (this.point.y < 0) {

       this.point.y = 0;

     }

     if (point.x > super.getWidth() - this.ball.getWidth()) { // X轴已经显示过了

       this.point.x = super.getWidth() - this.ball.getWidth();

     }

     if (point.y > super.getHeight() - this.ball.getHeight()) {

       this.point.y = super.getHeight() - this.ball.getWidth(); // 设置Y 轴的边界

     }

     canvas.drawBitmap(this.ball, this.point.x, this.point.y, p);

  }

 

}

 

 

 

 

 

 

 

在MySensorDemo.java中:

 

package com.li.sensor;

 

import android.app.Activity;

import android.os.Bundle;

 

public class MySensorDemo extends Activity {

   

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

    }

}

 

 

 

 

 

修改AndroidManifest.xml,设置为竖屏。

 

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

    package="com.li.sensor"

    android:versionCode="1"

    android:versionName="1.0" >

 

    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="15" />

 

    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".MySensorDemo"

            android:label="@string/title_activity_my_sensor_demo"

            android:screenOrientation="portrait">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

 

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

 

</manifest>

 


    
[3] MD5加密示范
    来源: 互联网  发布时间: 2014-02-18
MD5加密示例
下面是一个MD5的Demo.
public class Demo{
    public static void main(String args[]){
       MessageDigest digest=MessageDigest.getInstance("MD5");
      String pwd="123456"; 
      byte bytes[]=digest.digest(pwd.getBytes());
      StringBuffer sb=new StringBuffer();
      for(int i=0;i<bytes.length;i++){
      String str=Integer.toHexString(0xff&bytes[i]);
      if(s.length()==1){
        sb.append("0"+s);
     }else{
       sb.append(s);
     }
   }
       System.out.println(sb.toString());
   }
}


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android实现将已发送的短信写入短信数据库的... iis7站长之家
▪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