JAVA API

----API概念:

API(Application Programming Interface)应用程序接口。

在Java中的API就是JDK中提供的各种功能。如CreateWindow就是一个API函数,在应用程序中如果要调用这个函数那么操作系统就会按该函数提供的参数信息产生一个相应的窗口

如何学习编程:

1. 必须先学习该语言的语法

2.我们要像学习汉语一样掌握成语一样掌握大量的API

3.也要学会分析与解决问题。养成良好的编程习惯与风格

 java工具软件的介绍与使用:

 sun公司没有提供图形化的开发环境,他把开发软件让给了合作伙伴。

Borland公司的Jbuilder        IBM 的 Visual Age  还有赛门铁克的Visual cafe 这几业是很给力的

String类和StringBuffer类:

一个字符串就是一边串的字符,java定义了String和StringBuffer两个类 来封装对字符串的各种操作,它们都被放到了java.lang包中,

不需要用import java.lang这个语句导入就可以直接使用他们了 

String类用于比较两个字符串,查找和抽取串中的字符或子串、【字符串与其他类型之间相互转换等 String类中的内容一旦被初始化就不能再改变。 

 StringBuffer类用于内容 可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串原来的内容。一旦通过StringBuffer生成最终想要的字符串,就应该使用StringBuffer.toString方法将其转换成String类,随后就可能 使用String类的各种方法操纵这个字符串

java为字符串提供了特别的连接操作符(+)可以把其他数据类型的数据转换成字串。并前后接成新的字符串。连接操作符的功能是通过StringBuffer类和它的append方法实现

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. String x="a"+"4"+"c";  
  2. 编译时等效于  
  3. String x=new StringBuffer().append("a").append("4").toString();  

这里是一个print键盘录入的 数据。

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. class readline   
  2. {  
  3.     public static void main(String[ ] args)   
  4.     {  
  5.         byte buf[ ]=new byte[1024];  
  6.             String strInfo=null;  
  7.            int pos=0;  
  8.             int ch=0;  
  9.         System.out.println("please enter info, input bye for exit:");  
  10.         while (true)  
  11.         {  
  12.             try  
  13.             {  
  14.                 ch=System.in.read();  
  15.             }  
  16.             catch (Exception e)  
  17.             {  
  18.                 System.out.println(e.getMessage());  
  19.             }  
  20.             switch (ch)  
  21.             {  
  22.             case '\r':  
  23.             break;  
  24.             case '\n':  
  25.                 strInfo=new String(buf,0,pos);  
  26.             if(strInfo=="bye")//改为if(strInfo.equals("bye"))  
  27.             return;  
  28.             else  
  29.                 System.out.println(strInfo);  
  30.               pos=0;  
  31.               break;  
  32.               default:  
  33.                   buf[pos++]=(byte)ch;  
  34.             }  
  35.         }  
  36.     }  
  37. }  

 String类的构造方法String(buf,0,pos)这个方法把数组buf里面的值 从0到pos取出,用来创建一个新的String类对象。

String类有几个比较常用的函数,如equalsIgnoreCase、indexof、substring

equalsIgnoreCase(String anotherString)是在比较两个字符串时忽略大小写,将if(strInfo=="bye")改成 if(strInfo.equalsIgnoreCase("bye"))这样就会输出bye就退出程序

indexOf(int ch)方法是用来返回一个字符串中的首次出现的位置,如果没有这个字符则返回-1.

它的另一种形式indexOf(int ch, int fro,Index)返回 的是从fromIndex指定的数值开始ch字符首次出现的位置该方法可以应用于文件和数据库内容的查找等 功能。

String str="hello world";

System.out.println(str.indexof('o'));//打印结果是4

String str="hello world";
System.out.println(str.indexOf('o',6));//结果是7

indexOf还有其他几种形式

indexOf(String str)

indexOf(String str,int fromIndex)

subString(int beginIndex)方法返回的是一个字符串中从beginIndex指定数值到末尾的一个字符串,如果beginIndex指定的数值超过当前字符串的长度,则返回一个空字符串

这个方法也有另一种形式substring(int beginIndex,int endIndex)返回 的是当前字符串中从beginIndex开始 到endIndex-1结束的一个字符串

String类中的replace和toUpperCase方法不能改变字符串的内容?与String类对象的内容一旦被初始化就不能再改变不矛盾么?

它们返回类型都是String类,即生成一个新的字符串,而不是改变原来的字符串内容。

基本数据类型的对象包装类:

java对数据即提供基本数据的简单类型,也提供了相应的包装类使用基本简单数据类型,可以改善系统的性能。

java中很多类参数类型都是object即这些方法接收的参数都 是对象 ,同时,当要使用这些方法来处理基本功数据类型的数据,【这就是包装类

包装类对象在进行基本数据类型的类型转换时也特别有用。比如整数与字符串之间的转换

打印一个矩形

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. calss TestInteger  
  2. {  
  3. public static void main(String[] args)  
  4. {  
  5. int w=Integer.parseInt(arfs[0]);//第一种方法  
  6. int h=new Integer(args[1]).intValue();//第二种方法  
  7. //int h=Integer.valieof(args[1]).intValue();第三种方法  
  8. for(int i=0;i<h;i++)  
  9. {  
  10. sb.append('*');  
  11. }  
  12. System.out.println(sb.toString());  
  13. }  
  14. }  
  15. }  
[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. java中的八种基本数据类型与其对应的那个包装类  
  2. Boolean         Boolean  
  3. Byte              Byte  
  4. Char              Character  
  5. short             Short  
  6. int                Integer  
  7. long               Long  
  8. float               Float  
  9. double            Double  

字符串转换成基本数据类型都是用     Xxx包装类.parseXxx方式 实现 (除了Boolean类用的是getBoolean方法)。要将包装类转换成基本数据

几乎都是Xxx包装类对象 xxxValue方式

集合类:

 在java编程中经常 用到Vector   Enumeration     ArrayList    Collection     Iterator   Set          List等 集合类

Vector类与Enumeration接口

Vector类是java语言提供的一种高级数据结构,可用于保存一系列对象,java不支持动态数组Vector类提供了一种 与动态 数组类似的功能。在我们不能预先确定要保存的对象 的数目或需要方便 获得某个对象 的存在位置时,Vector是一个不错的选择

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. import java.util.*;//Vector和Enumeration都在这个包中  
  2. public class void main(String[] args)  
  3. {  
  4. int b=0;  
  5. Vector v=new Vector();  
  6. System.out,println("Please Enter Number:");  
  7. while(true)  
  8. {  
  9. try  
  10. {  
  11. b=System.in.read();  
  12. }  
  13. chtch(Exception e)  
  14. {  
  15. System.out.println(e.getMessage());  
  16. }  
  17. if(b=='\r'|| b=='\n')  
  18. break;  
  19. else  
  20. {  
  21. int num=b-'0';  
  22. v.addElement(new Integer(num));//这里因为不能使用数组存储数据,所以只能取对象类型数据  
  23. }  
  24. }  
  25. int sum=0;  
  26. Enumeration e=v.elments();//访问这个对象里面的所有元素  
  27. while(e.hasMoreElements())  
  28. {  
  29. Integer intobj=(Integer)e.nextElment();//这里是对数据类型进行转换  
  30. sum+=intobj.intValue();//这里就是一个简单的求和的计数器。  
  31. }  
  32. System.out.println(sum);  
  33. }  
  34. }  

Enumeration是一个接口类,它提供了一种访问各种数据结构(Vector类只是其中一种)中的所有数据的抽象机制,就是我们要访问各种数据结构对象 中所有的元素时都 可以使用同样的方式
2.Collection接口Iterator接口

我们要取出保存在实现 了Collection接口对象中的所有对象,我们也必须通过Coolection.iterator方法返回一个Iterator接口对象,Iterator接口的功能与使用同Enumeration接口非常相似,所以创建 了Iterator这个新接口,并缩短了方法名长度。

不能直接 用Collection接口类创建对象,而必须用实现 了Collection接口的类来创建对象,ArrayList类就是一个实现了Collection接口的类,我们将上面使用Vector和Enumeration的例子改为脾ArrayList和Iterator编写

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. import java.util.*;//ArrayList类和Iterator接口都在此包中  
  2. public class TestCollection  
  3. {  
  4. public static void main(String[] args)  
  5. {  
  6. int b=0;  
  7. ArrayList a1=new ArrayList();  
  8. System.out.println("Please Enter Number:");  
  9. while(true)  
  10. {  
  11. try  
  12. {  
  13. b=System.in.read();  
  14. }  
  15. catch(Exception e)  
  16. {  
  17. System.our,println(e.getMessage());  
  18. }  
  19. if(b=='\r'| b=='\n')  
  20. break;  
  21. else  
  22. {  
  23. int num=b-'0';  
  24. a1.add(new Integer(num));  
  25. }  
  26. }  
  27. int sum=0;  
  28. Iterator itr=a1.iterator();  
  29. while(itr.hasNext())  
  30. {  
  31. Integer intobj=(Integer)itr.next();  
  32. sum+=intobj.inValue();  
  33. }  
  34. }  
  35. System.out.println(sum);  
  36. }  

与上面的一样都是保存产输入 的数据的和只是这里换成了Iteratora接口ArrayLIst类中的所有方法 是非同步的,所以没有多线程安全问题时,最好用的就是ArrayList

3.集合类接口的比较

另外 还有几个集合接口Set   List    Collection

Collection ——对象 之间没有指定 的顺序允许重复元素

Set——对象 之间没有的顺序,不允许 重复元素

List——对象之间有指定 的顺序允许 重复元素  
我们还 可以利用List接口中对象 之间有指定的顺序对List接口中的对象进行排序。

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. import java.util.*;  
  2. public  
  3. {  
  4. public static void main(String[] args)  
  5. ArrayList a1=new ArrayList();  
  6. a1.add(new Integer(1));  
  7. a1.add(new Integer(2));  
  8. a1.add(new Integer(2));  
  9. System.out,.println(a1.toString());//排序前  
  10. Collectlions.sort(a1);//排序方法  
  11. System.out.println(a1.toString());//排序后  
  12. }  
  13. }  

Hashtable和Properties类

 Hasgutable是一种高级数据结构,用于快速检索数据,除了可以动态的存储对象 。而且 对每个存储对象都会安排另一个对象与之关联

向Hashtable中存储数据,使用的是Hashtable.put(Object key,Object value)方法从Hashtable中检索数据,

使用Hashtable.get(Object key)方法值和关键字都可以是任何类型的非空对象

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. Hashtable numbers=new Hashtable();  
  2. number.put("one",new Integer(1));  
  3. number.put("two",new Integer(2));  
  4. numbers.put("three"new Integer(3));  
  5. 要检索其中的"two"关键字对应的数据  
  6. Integer  n=(Integer)numbers.get("two");  
  7. if(n!=null)  
  8. {  
  9. System.out,println("two=  "+n);  
  10. }  

想要成功地从Hashtable中检索数据,用作关键字的对象必须正确覆盖Object.hashCode方法Object.equals方法。覆盖Object.equals检索数据时判断是否相等检索不可能正确。Object.hashCode会返回一个叫散列码的值。这个值是以对象的地址以某种方式转换来的,如果是两个内容想同的对象。地址值也不可能一样,所以Object.hashCode的返回值也不一样。想要让两个内容相同的Object返回一样的散列码那么子类必须覆盖Object.hashCode方法。用于关键字的类

StringBuffer类不会按照关键字类的要求覆盖hashCode方法,因为对象内容即使相等,但是地址值不等 ,所以我不能使用StringBuffer作为关键字类。
关于equals和hashCode两个方法 的实现

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. class MyKey  
  2. {  
  3. private String neme;  
  4. private int agep;  
  5. public MyKey(String name, int age)  
  6. {  
  7. this.name=name;  
  8. this.age=age;  
  9. }  
  10. publblic String toString()  
  11. {  
  12. return new String(name+","+age);  
  13. }  
  14. public boolean equals(Object obj)  
  15. {  
  16. if(name.equals(obj.name)&&age==obj.age)  
  17. return true;  
  18. else  
  19. return false;  
  20. }  
  21. public int hashCode()  
  22. {  
  23. return name.hashCode()+age;  
  24. }  
  25. }  
  26. //如果两个人年龄和姓名都相同那么我们就说他们是同一个人,。也可以再加上身高什么的  

使用MyKey类做为关键字,取出所有关键字的集合和取出所有值的集合

Systrm类与Runtime类

System类:

 java不支持全局函数和变量。但是在设计 时候将一些系统相关的重要函数主变量收集到了一个统一 的类中这个类就是System类。

System类中的所有成员都是静态的,当我们需要引用 这些变量和方法时,直接使System类名作为前缀

System类中几个方法

exit(int status)方法,提前终止虚拟机运行对于在发生了异常的情况下想终止 虚拟机运行,只需要传递一个非零的值作为参数,对于正常情况下传递一个为0的参数终止

CurrenTimeMills方法返回自1970年1月1日0点0分0秒起至今的时候以毫秒为单位,这是一个long的最大值,其实在计算机内部只有数值,没有日期及其他各种类型也就是说

我们平常用到的日期本质上就是一个数值,但是通过这个数值,能够推算出具体的时间单位

平还可以用CurrentTimeMillis方法检测一段代码运行时所花的时间。

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. Long startTime=System.currentTimeMills();  
  2. ...代码断  
  3. Long endTime=System.currentTimeMills();  
  4. System.out.println("tota1 time expended is"+(starttime-endTime)+"milliseconds");  

getProperties方法与java的环境变量

getProperties方法获取当前虚拟机的环境变量,path和classpath就是其中的两个环境变量,第一个属性都 是变量与值 成对的形式出现的

同样的道理:java做为一个虚拟的操作系统,它也有自己的环境属性。Properties是Hashtable的子类,正好可以用于环境变量属性中的多个变量/值对格式 的数据,getProperties方法返回值是包含了当前虚拟机的所有环境属性的Properties类型的对象,

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. import java.util.*;  
  2. public class SystemInfo  
  3. {  
  4. public static void main(String[] args)  
  5. {  
  6. properties sp=System.getProperties();  
  7. Enumeration e=sp.propertyNames();  
  8. while(e.hasMoreElments())  
  9. {  
  10. String key=(String)e.nextElement();  
  11. System.out.println(key+"  ="+sp.getProperth(key));  
  12. }  
  13. }  
  14. }  

 Runtime类

Runtime类封装了java命令本身的运行进程,其中很多方法 与System中方法 相重复,我们不能直接 创建Runtime实例,但是可以通过静态方法 Runtime.getRuntime获得正在运行Runtime对象引用。

Exce方法,java命令运行后,本身 是多途径操作系统 上的一个进程,在这个进程 中启动一个新的进程 ,即执行其他程序时使用exce方法 .exec方法返回 一个代表子进程 Process类对象 这个对象 java进程 可以与子进程交互

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. public class TestRuntime  
  2. {  
  3. public static void main(String[] args)  
  4. {  
  5. process p=null;  
  6. try  
  7. {  
  8. p=Runtime.getRuntime().exec("notepad.exe TestRuntime.java");  
  9. Thread.sleep(5000);  
  10. }  
  11. catch(Exception e)  
  12. {  
  13. Systrm.out,println(e.getMessage());  
  14. }  
  15. p.destroy();  
  16. }  
  17. }  

程序是不能直接创建Runtime的实例。所以只会产生一个Runtime的实例 对象,而不能产生多个实例对象,这种情况就是单例设计模式

Date与Calendar、DateFformat类:

 Date类用于表示日期和时间。最为简单的构造函数就是Date()但是由于没有考虑到国际化所以又设计了两个新的类一个是Calendar类另一个是DateFormat类

Calendar类是一个抽象类,主要用于完成日期字段之间的相互操作的功能。如Calendar.add方法可以实现在某一日期的基础上增加若干天后的新日期

Calendar.get方法可以取出日期对象 中的日期字段的值,Calendar.set方法修改日期对象中的年月日日期字段的值。Calendar.getImstance方法可以返回 一个Calendar类型的对象 实例,GregorianCalendar类是JDK目前提供的唯一一个Calendar的子类

[html] view plaincopy
在CODE上查看代码片派生到我的代码片
  1. import java.util.*;  
  2. class TestCalendar  
  3. {  
  4. public static void main(String[]args)  
  5. {  
  6. Calendar c1=Calendar.getInstance();//下面打印当前时间  
  7. System.out,println()c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+"月"+c1.get(c1.MINTH)+"日"+c1.get(c1.HOUR)+":"+c1.get(c1.MINUTE)+":"+get(c1.SECOND));  
  8. c1.add(c1.dDAY-OF-YEAR,315);//增加315天  
  9. //下面我们来打印的是315天后的时间  
  10. System.out,println()c1.get(c1.YEAR)+"年"+(c1.get(c1.MONTH)+1)+"月"+c1.get(c1.MINTH)+"日"+c1.get(c1.HOUR)+":"+c1.get(c1.MINUTE)+":"+get(c1.SECOND));  
  11. }  
  12. }  

 java.text.DateFpr,at就是实现一个将Date对象表示 的日期用指定格式输出和将特定格式的日期字符串转换成Date对象这样一个功能的抽象基类

当我们要将一个字符串转换成Date类时,字符串中代表字符必须在模板中YYYY的位置 y的个数为指定了年的位数

Math与Random类:

Math类包含了所有用于几何和三角浮点运算函数,。这些都是静态的

Random类就是一个伪随机数产生器,随机数是按照某种算法产生的,一旦用一个初值创建Random对象就可以得到一系列的

随机数相同的初值创建的Random对象随机数序列是相同的,Random类的Random()构造方法中使用当前的时间 来初始化Random对象

转载于:https://www.cnblogs.com/Jansens520/p/6428499.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javascript基础(二)

Javascript基础&#xff08;二&#xff09;事件&#xff1a;条件语句类型转换正则表达式regexp错误抛出void事件&#xff1a; 是发生在HTML元素上的行为&#xff0c;可以是浏览器行为&#xff0c;可以是用户行为 a) html 元素添加事件属性&#xff1a; <p οnclick alert…

网页字体设置你了解吗?

以前做项目的时候就依葫芦画瓢的设置 { font-family:arial,”microsoft yahei”,simsun,sans-self; } 等类似的字体&#xff0c;然而当更多的设备和系统出现后&#xff0c;以前这样的设置已不能满足网页在各设备上的显示需求。 就拿最简单的宋体(simsun)来说吧&#xff0c;在Wi…

设计模式笔记(7)---适配器模式(结构型)

Gof定义 将一个类的接口转换成客户所希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 动机 在软件系统中&#xff0c;由于应用环境的变化&#xff0c;常常要将“一些现存的对象”放在心的环境中应用&#xff0c;但是新环境要求的接口…

软件设计模式之适配器模式(JAVA)

什么是适配器模式&#xff1f; 在计算机编程中&#xff0c;适配器模式&#xff08;有时候也称包装样式或者包装&#xff09;将一个类的接口适配成用户所期待的。适配器能将因为接口不兼容而不能在一起工作的类工作在一起&#xff0c;做法是将类自己的接口包裹在一个已存在的类中…

Javascript 调试技巧

Javascript 调试技巧 在代码中寻找错误 1&#xff09;alert 方法&#xff1a; 弹框提示 2&#xff09;console 方法 在调试窗口上打印 JavaScript 值 3&#xff09;断点调试 在浏览器开发者工具中为JS代码添加断点&#xff0c;让JS执行到某一特定位置停住&#xff0c;方便…

WPF程序将DLL嵌入到EXE的两种方法

2019独角兽企业重金招聘Python工程师标准>>> WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是《Visual Studio 版本转换工具WPF版开源了》的续&#xff0c;关于《Visual Studio 版本转换工具WPF版开源了》可以参看地下地址&#xff08;两篇是一样的&#xff09;&…

华中地区高校第七届ACM程序设计大赛——之字形矩阵【2012年5月27日】

题意&#xff1a;输入a b Right 或 a b Down ,根据输入输出之字形路径的矩阵。 1 #include <stdio.h>2 int xx[4]{0,1,-1,1},yy[4]{1,0,1,-1};3 int map[100][100],col,row,x,y,dir,steps,idx;4 char sel[10];5 void nextdir()6 {7 switch(dir)8 {9 case 0: …

oracle文件

1、控制文件和日志文件 控制文件&#xff08;Control File&#xff09;是一个很小的二进制文件&#xff0c;用于描述和维护数据库的物理结构。在Oracle数据库中&#xff0c;控制文件相当重要&#xff0c;它存放有数据库中数据文件和日志文件的信息。Oracle数据库在启动时需要访…

常用命令-tar 加密

2019独角兽企业重金招聘Python工程师标准>>> 在当前目录下有一个pma目录的文件夹: 1、使用tar对文件压缩加密&#xff1a; # tar -zcvf - pma|openssl des3 -salt -k password | dd ofpma.des3 完成将得到一个pma.des3的打包文件&#xff0c;用你设置的密码替换pas…

ORM SQLAlchemy 简介

对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称ORM使用DB-API访问数据库&#xff0c;需要懂 SQL 语言&#xff0c;能够写 SQL 语句&#xff0c;如果不想懂 SQL&#xff0c;又想使用关系型数据库&#xff0c;可以使用 ORM,一个 ORM , 它的一端连着 Databas…

转:OAUTH协议简介

OAUTH协议简介 原文链接 摘要&#xff1a;OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第 三方触及到用户的帐号信息&#xff08;如用户名与密码&#xff09;&#xff0c;即第三方无需使用用户的用户名与密…

java集合框架05——ArrayList和LinkedList的区别

前面已经学习完了List部分的源码&#xff0c;主要是ArrayList和LinkedList两部分内容&#xff0c;这一节主要总结下List部分的内容。 List概括 先来回顾一下List在Collection中的的框架图&#xff1a; 从图中我们可以看出&#xff1a; 1. List是一个接口&#xff0c;它继承与Co…

Javascript 函数详解

Javascript 函数详解 1&#xff09;函数声明&#xff1a; 通过关键字function定义&#xff0c;把函数作为变量来声明 函数声明后不会立即执行&#xff0c;会在我们需要的时候调用到。 <script>function myFunction(a, b) {return a * b;}// js对大小写敏感&#xff0c;…

ln链接使用

首先说明下Linux下删除、移动、复制的意义。删除:是将inode表放回空闲区由1变为0&#xff0c;还可以找回文件移动:是将inode表不变&#xff0c;将文件转移至对应条目&#xff0c;删除原条录。同分区上操作速度快&#xff0c;不同分区相当于创建、删除原文件复制:是重建inode表&…

Javascript 对象一(对象详解)

JS创建对象的几种方法1. Object 构造函数 创建 2. 对象字面量表示法 创建 3. 使用工厂模式创建对象 在 Car 函数中&#xff0c;返回的是一个对象。那么我们就无法判断返回的对象究竟是一个什么样的类型。于是就出现了第四种创建对象的模式 4. 使用构造函数创建对象 构造函数…

Delphi工具之Image Editor

Delphi Image Editor是一个工具&#xff0c;可用它来创建并编辑位图&#xff08;.bmp&#xff09;、图标&#xff08;.ico&#xff09;和光标&#xff08;.cur&#xff09;&#xff0c;还可以用它创建资源工程&#xff0c;将多个位图、图标和光标包含到单个资源文件&#xff08…

小程序 获取当前用户城市信息(省市区)

步骤使用 wx.getLocation来获取位置授权&#xff1a;获取到设备当前的地理位置信息&#xff0c;这个信息是当前位置的经纬度使用其他第三方地图服务的API&#xff1a;获取当前位置是处于哪个国家&#xff0c;哪个城市等信息&#xff08;eg&#xff1a;腾讯地图、百度地图&#…

小程序 获取当前用户地址及地图显示

步骤使用 wx.getLocation来获取当前位置&#xff1a; 注意;当用户取消位置获取授权之后,再次点击获取位子按钮小程序不会再提醒用户是否授权,这个时候最好自己弹出提示框让用户去设置页面开启授权设置. wx.getLocation({type: wgs84, //wgs返回 gps坐标&#xff0c; gcj02返回…

CSS3 box-shadow 属性

2019独角兽企业重金招聘Python工程师标准>>> 实例 向 div 元素添加 box-shadow&#xff1a; div { box-shadow: 10px 10px 5px #888888; } 亲自试一试 <!DOCTYPE html> <html> <head> <style> div { width:300px; height:100px; backgroun…

[译]Kinect for Windows SDK开发入门(二):基础知识 上

上篇文章介绍了Kinect开发的环境配置&#xff0c;这篇文章和下一篇文章将介绍Kinect开发的基本知识&#xff0c;为深入研究Kinect for Windows SDK做好基础。 每一个Kinect应用都有一些基本元素。应用程序必须探测和发现链接到设备上的Kinect传感器。在使用这些传感器之前&…