当前位置:  编程技术>移动开发
本页文章导读:
    ▪Java上面根据两点经纬度坐标来算距离        Java下面根据两点经纬度坐标来算距离 public class Test { private static final double EARTH_RADIUS = 6378137; private static double rad(double d) { return d * Math.PI / 180.0; } /** *//** * 根据.........
    ▪ Andriod 入门(一)-布局        Andriod 入门(1)--布局 布局相当于一个透明的画布,本身是没有任何东西的,单纯的布局是不可见的,它的作用是定义在此画布上显示的规则. 比如线性布局就规定在其上的视图要么水平摆放,要么.........
    ▪ wifi设立静态IP       wifi设置静态IP wifi设置静态IP时设置错误的静态IP,能连接Ap,也能上网设置错误的网关能连接上Ap,但不能上网设置错误的网络掩码,不能连接AP设置错误的DNS,能连接AP,但不能上网 ......

[1]Java上面根据两点经纬度坐标来算距离
    来源: 互联网  发布时间: 2014-02-18
Java下面根据两点经纬度坐标来算距离

public class Test {
  private static final double EARTH_RADIUS = 6378137;
  private static double rad(double d)
     {
        return d * Math.PI / 180.0;
     }
     
     /** *//**
      * 根据两点间经纬度坐标(double值),计算两点间距离,单位为米
      * @param lng1
      * @param lat1
      * @param lng2
      * @param lat2
      * @return
      */
     public static double GetDistance(double lng1, double lat1, double lng2, double lat2)
   {
        double radLat1 = rad(lat1);
        double radLat2 = rad(lat2);
        double a = radLat1 - radLat2;
        double b = rad(lng1) - rad(lng2);
        double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + 
         Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
        s = s * EARTH_RADIUS;
        s = Math.round(s * 10000) / 10000;
        return s;
     }
     
     
     /** 
      * @param args
      */
     public static void main(String[] args)
     {
     // TODO 自动生成方法存根
         double distance = GetDistance(121.491909,31.233234,121.411994,31.206134);
         System.out.println("Distance is:"+distance);
     }
}
 

    
[2] Andriod 入门(一)-布局
    来源: 互联网  发布时间: 2014-02-18
Andriod 入门(1)--布局

布局相当于一个透明的画布,本身是没有任何东西的,单纯的布局是不可见的,它的作用是定义在此画布上显示的规则.

比如线性布局就规定在其上的视图要么水平摆放,要么垂直摆放.

 

布局的实现有两种方式:

1.常用作法是在 /res/layout/ 下 添加一layout.xml

2.在Java中实现

 

如果界面结构比较简单或逻辑比较简单可采用方式1;反之,界面比较复杂或者界面中某部分可以批量生成(数独游戏中9*9的方格),或随机生成(星空),就需要用方式2了;

 

在Activity中引用此布局:

setContentView(R.layout.main);           # main 与布局文件名一致

 

一:线性布局

<?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"
    >

<!--在此布局上的控件-->

</LinearLayout>

 

# 用来指定布局方向
android:orientation="vertical"                       # 垂直方向
android:orientation="horizontal"                     # 水平方向

 

二:表格布局

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TableRow>
    	<Button android:text="1" 
             android:layout_width="fill_parent" android:layout_height="fill_parent"/>
    	<Button android:text="2" 
             android:layout_width="fill_parent" android:layout_height="fill_parent"/>
    	<Button android:text="3" 
             android:layout_width="fill_parent" android:layout_height="fill_parent"/>
    </TableRow>
    <!--每一行用TableRow-->
    <!--视图及布局都要放在TableRow中-->
 </TableLayout>
 

三:嵌套布局

   嵌套布局就是布局上不仅可以放视图还可以放布局; 画布上面当然还可以再放一层画布,最后从垂直方向上,看到的还是一个画布,大概这样能理解就行了

 

<?xml version="1.0" encoding="utf-8"?>
<!--嵌套布局-->
<!--最外层Layout,垂直方向布局-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    
    <!--内层Layout1,水平方向布局-->
 	<LinearLayout
	    android:orientation="horizontal"
	    android:layout_width="fill_parent"
	    android:layout_height="fill_parent"
	    android:layout_weight="1">
	    <Button android:text="h_A" 
	    	android:layout_width="wrap_content" android:layout_height="fill_parent"/>
	    <Button android:text="h_B" 
	    	android:layout_width="wrap_content" android:layout_height="fill_parent"/>
	    <Button android:text="h_C" 
	    	android:layout_width="wrap_content" android:layout_height="fill_parent"/>
	</LinearLayout>
	
	<!--内层Layout1,水平方向布局-->
	<LinearLayout
	    android:orientation="vertical"
	    android:layout_width="fill_parent"
	    android:layout_height="fill_parent"
	    android:layout_weight="1">
	    <Button android:text="verticalA" 
	    	android:layout_width="fill_parent" android:layout_height="wrap_content"/>
	    <Button android:text="verticalB" 
	    	android:layout_width="fill_parent" android:layout_height="wrap_content"/>
	    <Button android:text="verticalC" 
	    	android:layout_width="fill_parent" android:layout_height="wrap_content"/>
	</LinearLayout>
</LinearLayout>

上述布局实现了这样的一个界面:

首先把界面上下分为两部分:上部分以水平方向添加三个按钮,下部分以垂直方向添加三个按钮. 

实现思路是:整体界面看成是一个垂直方向的线性布局,然后上部分是一个水平方向的线性布局,下部分是一个垂直方向的线性布局.

 

下面我们换一种思路来实现这个界面.

我们把整个界面看成是一个2行*1列的表格.第一行是水平方向的线性布局,第二列是垂直方向的线性布局

 

<?xml version="1.0" encoding="utf-8"?>
<!--嵌套布局-->
<!--最外层TableLayout,两行一列-->
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
    android:layout_height="fill_parent">>
	
        <!-- 第一行 -->
	<TableRow>
		<LinearLayout 
			android:orientation="horizontal"
			android:layout_width="fill_parent"
    		android:layout_height="fill_parent" >
	    	<Button android:text="horizontal_A" 
		    	android:layout_width="wrap_content" android:layout_height="fill_parent"/>
		    <Button android:text="horizontal_B" 
		    	android:layout_width="wrap_content" android:layout_height="fill_parent"/>
		    <Button android:text="horizontal_C" 
		    	android:layout_width="wrap_content" android:layout_height="fill_parent"/>
    	</LinearLayout>
	</TableRow>
	
        <!-- 第二行 -->
	<TableRow>
		<LinearLayout 
			android:orientation="vertical"
			android:layout_width="fill_parent"
    		android:layout_height="fill_parent" >
	    	<Button android:text="vertical_A" 
	    	android:layout_width="fill_parent" android:layout_height="wrap_content"/>
		    <Button android:text="vertical_B" 
		    	android:layout_width="fill_parent" android:layout_height="wrap_content"/>
		    <Button android:text="vertical_C" 
		    	android:layout_width="fill_parent" android:layout_height="wrap_content"/>
    	</LinearLayout>
	</TableRow>
	
</TableLayout>
 

四:相对布局

<?xml version="1.0" encoding="utf-8"?>
<!--相对布局-->
<!--最外层Layout,垂直方向布局-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:padding="10sp">
    
    <TextView android:id="@+id/textView"
    	android:text="please enter..." 
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content" />
    
    <!--android:layout_below="@id/textView" 指定editText 处于 textView 的下方-->
    <EditText android:id="@+id/editText" 
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content" 
    	android:layout_below="@id/textView"/>
    
    <!--android:layout_below="@id/editText" 指定btn_ok位于editText的下方-->
    <!--android:layout_alignParentRight="true" 指定btn_ok向父视图的右边对齐-->
    <Button android:id="@+id/btn_ok" 
    	android:text="ok"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content" 
    	android:layout_below="@id/editText"
    	android:layout_alignParentRight="true"/>
    
    <!--android:layout_alignTop="@id/btn_ok" 指定btn_cancel和btn_ok最上方对齐-->
    <!--android:layout_toLeftOf="@id/btn_ok" 指定btn_cancel的右边与btn_ok的左边对齐-->
    <Button android:id="@+id/btn_cancel" 
    	android:text="cancel"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content" 
    	android:layout_alignTop="@id/btn_ok"
    	android:layout_toLeftOf="@id/btn_ok"/>
    	
   	<!--更多的的属性可以查看文档中RelativeLayout.LayoutParams的介绍-->
</RelativeLayout>

如果想更好的使用相对布局,建议先理解CSS中的盒子模型,两者的理念基本雷同

 

五:自定义布局

    自定义布局通常是在以上几种布局难以奏效或实现起来非常繁琐复杂的情况下的最后一招

    在此仅展示基本用法, 没有太多技巧

 

   1.线性布局使用示例

public class Sudoku extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 自定义一个线性布局
        LinearLayout layout = new LinearLayout(this);							
        // 定义线性布局对齐方向
        layout.setOrientation(LinearLayout.HORIZONTAL);						
        
        // 定义两个按钮视图
        // 按钮的使用还要对其添加监听器
        // 关于Listener的添加有各种形式,内部类,匿名内部类,Activity实现OnClickListener等等
        // 各种用法都有各自的优缺点,具体选用哪种方式还要看具体需求及大家对此用法的体会心得
        Button btn1 = new Button(this);
        btn1.setText("welovelincon");
        Button btn2 = new Button(this);
        btn2.setText("weloveahcming");
        
        // 定义一个视图的长,宽
        // LinearLayout.LayoutParams.FILL_PARENT ==>android:layout_width="fill_parent"
        LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(150, 40);		
        // 向布局上添加视图,并用指定的长宽
        // 还可以在布局上添加布局
        layout.addView(btn1, param);
        layout.addView(btn2, param);
        
        // 使用布局
        setContentView(layout);															
    }
}
 


    
[3] wifi设立静态IP
    来源: 互联网  发布时间: 2014-02-18
wifi设置静态IP
wifi设置静态IP时
设置错误的静态IP,能连接Ap,也能上网
设置错误的网关能连接上Ap,但不能上网
设置错误的网络掩码,不能连接AP
设置错误的DNS,能连接AP,但不能上网

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪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