AndroidDev 板


LINE

求救,我耗了整整一天,快崩溃了 我用studio,学教学本写了一个v2的简易范例,却总是开不起来,会直接程式停止 後来我发现可能是版本的问题 在build.gradle,把 compile 'com.android.support:appcompat-v7:22.1.1' compile 'com.google.android.gms:play-services:7.3.0' 换回教学本上的版本 compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.google.android.gms:play-services:6.5.87' 就可以开了,可我的问题是.....不能理解为何code在新的版本上会有问题 而我想把code移植到自己写的app上,所以谁能跟我说如何修改让在新版本上执行成功 以下是java档 import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.provider.Settings; import android.support.v4.app.FragmentActivity; import android.os.Bundle; import android.widget.Toast; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.UiSettings; import com.google.android.gms.maps.model.CameraPosition; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; public class MapsActivity extends FragmentActivity { private LocationManager manager; private LocationListener locationListener; private GoogleMap mMap; private Marker marker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // 取得系统服务的LocationManager物件 manager = (LocationManager) getSystemService(LOCATION_SERVICE); // 检查是否有启用GPS if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { // 显示对话方块启用GPS AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("定位管理") .setMessage("GPS目前状态是尚未启用.\n" +"请问你是否现在就设定启用GPS?") .setPositiveButton("启用", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 使用Intent物件启动设定程式来更改GPS设定 Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(i); } }) .setNegativeButton("不启用", null).create().show(); } setUpMapIfNeeded(); // 初始Google Map } @Override protected void onResume() { super.onResume(); setUpMapIfNeeded(); // 建立定位服务的倾听者物件 locationListener = new GPSLocationListener(); // 更新位置频率的条件 int minTime = 1000; // 毫秒 float minDistance = 1; // 公尺 manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minDistance,locationListener); manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, minTime, minDistance,locationListener); } @Override protected void onPause() { super.onPause(); manager.removeUpdates(locationListener); } // 检查是否需要初始GoogleMap物件 private void setUpMapIfNeeded() { // 检查是否尚未初始GoogleMap物件 if (mMap == null) { // 使用SupportMapFragment取得GoogleMap物件 mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) .getMap(); mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); UiSettings mapSettings; // 使用介面的设定 mapSettings = mMap.getUiSettings(); mapSettings.setZoomControlsEnabled(true); // 检查是否成功取得GoogleMap物件 if (mMap != null) { // 指定浏览的经纬度座标 double lat = Double.parseDouble("25.06924"); double lng = Double.parseDouble("121.51617"); setUpMap(lat, lng); // 显示指定座标的地图 } } } // 新增标记和显示指定位址附近的地图 private void setUpMap(double lat, double lng) { LatLng pos = new LatLng(lat, lng); // 建立LatLng物件的座标 if (marker != null) { marker.remove(); // 删除前一个Marker标记物件 } // 新增Marker标记 marker = mMap.addMarker(new MarkerOptions() .position(pos) .title("Marker")); // 显示目前位址的附近地图 CameraPosition cp = new CameraPosition.Builder() .target(pos).zoom(18).bearing(70).tilt(25).build(); mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cp)); } // GPS位址的倾听者物件 class GPSLocationListener implements LocationListener { @Override public void onLocationChanged(Location current) { double lat, lng; if (current != null) { lat = current.getLatitude(); lng = current.getLongitude(); Toast.makeText(MapsActivity.this, "经纬度座标变更....", Toast.LENGTH_SHORT).show(); setUpMap(lat, lng); } } @Override public void onProviderDisabled(String provider) { } @Override public void onProviderEnabled(String provider) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } } } 拜托帮帮我,我真的快起笑了。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.214.222
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1434113307.A.79C.html
1F:推 agreerga: Log错误讯息呢? 如果程式码无误试着更新GoogleService 06/12 20:59
2F:→ agreerga: 更新手机上的版本 06/12 21:00
3F:→ loxyz: 要看错误讯息啊 06/12 21:20
4F:→ QQron: 我是在studio用模拟器测试,是要更新模拟器上的手机吗? 06/12 21:37
抱歉小弟刚学两个礼拜,log还不太会用和看 event log上什麽都没写,只有Gradle build finished 和 running的讯息 logcat上面有一堆红字,不太清楚哪个是主因, 蓝字 06-12 21:44:32.831 6795-6795/com.example.rum.try3 W/GooglePlayServicesUtil﹕ Google Play services out of date. Requires 7327000 but found 6774470 红字 06-12 21:26:06.345 1620-2015/com.google.process.location E/copresGcore﹕ ObfuscatedGaiaIdLookup: Could not load ObfuscatedGaiaIds: /data/data/com.google.android.gms/files/copresence_gaia_id: open failed: ENOENT (No such file or directory) 06-12 21:26:06.347 1620-2015/com.google.process.location E/copresGcore﹕ Couldn't load settings: /data/data/com.google.android.gms/files/copresence_settings: open failed: ENOENT (No such file or directory) 06-12 21:44:33.109 6795-6795/com.example.rum.try3 E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.rum.try3, PID: 6795 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.rum.try3/com.example.rum.try3.MapsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.GoogleMap.setMapType(int)' on a null object reference ※ 编辑: QQron (59.115.214.222), 06/12/2015 21:47:39
5F:推 agreerga: 不建议用模拟器 有实机跑比较好 设定很麻烦 06/12 21:47
6F:→ agreerga: 我也有开模拟器想跑Map 设定不起来就放弃直接用手机了 06/12 21:48
7F:→ QQron: 或许真的是模拟器手机上版本的问题,完全不知道怎更新 06/12 21:52
8F:→ QQron: 好的,我先用实机看看好了 06/12 21:53
9F:→ QQron: 搞定了 十分感谢 真的是模拟器版本问题 天呀我的时间..... 06/12 21:55
10F:推 WrongHole: 我之前也搞了一两个礼拜还没搞好,换genymotion就解决了 06/12 23:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP