当前位置: 编程技术>移动开发
本页文章导读:
▪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,但不能上网
wifi设置静态IP时
设置错误的静态IP,能连接Ap,也能上网
设置错误的网关能连接上Ap,但不能上网
设置错误的网络掩码,不能连接AP
设置错误的DNS,能连接AP,但不能上网
最新技术文章: