int w = 320,h = 240; String mstrTitle = “感受Android带给我们的新体验”; Bitmap mbmpTest = Bitmap.createBitmap(w,h, Config.ARGB_8888); Canvas canvasTemp = new Canvas(mbmpTest); canvasTemp.drawColor(Color.WHITE); Paint p = new Paint(); String familyName = “宋体”; Typeface font = Typeface.create(familyName,Typeface.BOLD); p.setColor(Color.RED); p.setTypeface(font); p.setTextSize(22); canvasTemp.drawText(mstrTitle,0,100,p);
在canvas初始化的时候就传入了一个空的bitmap 最后canvas中绘画的内容都被绘制到了bitmap中,从而得到了我们需要的bitmap
Objective-C 支持全局变量,主要有两种实现方式:第一种和C/C++中的一样,使用"extern"关键词;另外一种就是使用单例实现。(比如我们经常会把一个变量放在AppDelegate里面作为全局变量来访问,其中AppDelegate就是一个单例类)
在Objective-C中如何实现像C++中那样的静态成员变量呢?
你需要做的是在一个类A的implementation(.m或者.mm)文件中定义一个static变量,然后为A类定义静态成员函数(class method,也就是类方法)来操作该变量。这样在其它类中你就不需要创建A类的实例来对static变量进行访问。虽然该static变量并不是A类的静态成员变量,但是也算达到了同样的效果。static变量的作用域被限制在单一的文件中。代码可以如下所示:
上面的例子中你就可以通过[Example instanceCount]对静态变量count进行访问,无须创建实例。
使用地图,需要调用另一个Jar包:com.google.android.maps,里面包含了操作地图的各种类。
三个核心的类:Mapview MapController GeoPoint
使用这个包(不时android的标准包)时需要添加权限: <uses-library android:name="com.google.android.maps" />
MapActivity
在这个MapActivity上可以显示空间MapView,比Activity多了一个功能:负责开启和关闭MapView后面的服务Service。
MapView
mapView.setClickable(true); //设置mapView可以点击
mapView.setBuiltInZoomControls(true); //以上两句话可以使地图缩放,移动。
可以显示一个地图,具体的使用可以很复杂。以后重点研究下。
MapController = mapView.getController(); //一个工具类,负责对地图的操作
mMapController.setCenter(getGeoByLocation(location)); // 设置中心位置
mMapController.setZoom(15); //对地图缩放,放大倍数
android.location.LocationManager
获取系统提供的定位service,为系统服务:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,100 * 1000, 500, locationListener);
LocationListener
当location改变时,负责接收locationManager的通知
必须有这一句:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,100 * 1000, 500, locationListener);
// 获得当前位置
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
GeoPoint
代表了一个位置,经度和纬度(需要经度和纬度都乘以10的6次方)。是对经度和纬度的封装。
Overlay是附加在Google Map上的图片,应用可以添加多个图片。