- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 Google Map API 创建了一个 apk。在它的 MainActivity 中它有两个按钮。首先在谷歌地图上显示我的位置,并将经纬度保存到 SQLite 数据库中。第二个按钮打开谷歌地图,其中包含从数据库加载的所有地点(这些是我之前检查位置的地方)。
我创建应用程序的方式是两个 MainActivity 按钮启动相同的 MapActivity,但具有不同的标志。在 onMapReady 方法中,我使用了 If 语句,我正在检查标志以了解正在调用哪个按钮。
public void onMapReady(GoogleMap googleMap) {
if ((ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED)) {
mMap = googleMap;
if (getIntent().getFlags() == 1){
MarkerOptions options = new MarkerOptions();
LatLng llList;
ArrayList<LatLng> resultList = new ArrayList<LatLng>();
SQLiteDatabase mDatabase = openOrCreateDatabase("geoLoc", SQLiteDatabase.OPEN_READWRITE, null);
mDatabase.setLocale(Locale.getDefault());
String columns[] = {"lat", "lon"};
Cursor c = mDatabase.query("latlon", columns, null, null, null, null, "result DESC");
while (c.moveToNext())
{
Double lat = c.getDouble(c.getColumnIndex("lat"));
Double lng = c.getDouble(c.getColumnIndex("lon"));
try
{
llList = new LatLng(lat,lng);
resultList.add(llList);
}
catch (Exception e) {
}
}
for (LatLng point : resultList) {
options.position(point);
options.title(point.latitude + " " + point.longitude);
mMap.addMarker(options);
}
LatLng center= new LatLng(11,11);
mMap.moveCamera(CameraUpdateFactory.newLatLng(center));
}
else{
mDatabase = openOrCreateDatabase("geoLoc", SQLiteDatabase.CREATE_IF_NECESSARY, null);
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
Location location = locationManager.getLastKnownLocation(locationManager.getBestProvider(criteria, false));
double lat = location.getLatitude();
double lng = location.getLongitude();
// Saving to DB
ContentValues values = new ContentValues();
values.put("lat", lat);
values.put("lon", lng);
long newAuthorID = mDatabase.insert("latlon", null, values);
mMap.setMyLocationEnabled(true);
// Add a marker in Sydney and move the camera
LatLng place = new LatLng(lat,lng);
mMap.addMarker(new MarkerOptions().position(place).title("Your location"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(place));
}
}
}
在我的 MainActivity 的 onCreate() 方法中,我创建了这样的数据库
locale = Locale.getDefault();
SQLiteDatabase mDatabase = openOrCreateDatabase("geoLoc", SQLiteDatabase.CREATE_IF_NECESSARY, null);
mDatabase.setLocale(locale);
String CREATE_LL_TABLE = "CREATE TABLE IF NOT EXISTS latlon (lat DOUBLE, lon DOUBLE);";
mDatabase.execSQL(CREATE_LL_TABLE);
显示我的位置的部分工作正常,但是当我想检查我所有的位置时应用程序崩溃,并显示错误消息。
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such column: result (code 1): , while compiling: SELECT lat, lon FROM latlon ORDER BY result DESC)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:996)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:561)
11at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1471)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1318)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1357)
at com.example.lukasz.aaaaa.MapsActivity.onMapReady(MapsActivity.java:75)
at com.google.android.gms.maps.SupportMapFragment$zza$1.zza(Unknown Source)
at com.google.android.gms.maps.internal.zzt$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:387)
at gl.b(:com.google.android.gms.DynamiteModulesB@11518436:20)
at com.google.android.gms.maps.internal.bf.a(:com.google.android.gms.DynamiteModulesB@11518436:5)
at com.google.maps.api.android.lib6.impl.bc.run(:com.google.android.gms.DynamiteModulesB@11518436:5)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
W ActivityManager: Force finishing activity com.example.lukasz.aaaaa/.MapsActivity
是不是数据库被锁了?
最佳答案
解决问题。我将选择查询更改为
Cursor c = mDatabase.rawQuery("select * from latlon",null);
在这两种情况下我都关闭了数据库连接。
关于java - MapActivity 中的数据库处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47512441/
我为 Android 应用程序创建了此 Activity : http://developer.android.com/resources/tutorials/views/hello-mapview.
我在 HelloMapView Tutorial 之后实现了一个带有 Pins 的 MapActivity以及许多 StackOverflow 资源。 为了我的应用程序的目的,我想限制缩放级别最小值和
我已经使用 Google Map API 创建了一个 apk。在它的 MainActivity 中它有两个按钮。首先在谷歌地图上显示我的位置,并将经纬度保存到 SQLite 数据库中。第二个按钮打开谷
我知道这个话题已经被讨论过几次了,而且对于拥有“多个”MapActivity 类的建议解决方案通常是在不同的进程中运行一个。我不想这样做,我有 3 个。 我重构了一个 MapActivity 子类以在
是否有将 MapView(以及 MapActivity)与 honeycomb pre-3.0 兼容性 Loader 库(以及因此 FragmentActivity)? (顺便说一句,我一直不太明白为
我正忙着尝试将 MapView 包含在我的 Android 项目中。我正在按照 Android 开发者网站上的 MapView 教程进行操作,但出现错误: 'MapActivity cannot be
在文档中,除了通过 Action 调用的突变之外,状态是不可变的......好吧。 我在我的组件中使用 mapGetters、mapActions ... 商店: export default {
我无法使用mapActions指出我的模块的操作之一。根据文档,默认情况下,模块操作在 Vuex 中没有命名空间,因此我的模块的操作应该像主存储操作一样可用。这是我的设置: 商店 import * a
我有一个具有触摸事件的 MapActivity。 在触摸事件中: 我获取当前的地理编码 在该位置放置覆盖图像。 并将其设置为 map View 的中心。 这似乎工作正常并且在一段时间内符合预期。但随后
我已经下载了 Google API,现在我的 map XML 似乎有一个标准问题,它只是在应显示 Google map 的位置显示一个灰色夹点,如下所示: 我尝试了两个 API key (通过生成一个
当我第一次加载我的应用程序时,mapActivity 正在调用并且我可以看到 map ,现在当我关闭网络连接并重新打开,更改屏幕并返回到 mapactivity, map 显示为空,此时出现空指针异常
我的 Activity 扩展自 MapActivity,我已在 list 中正确描述了它,我已将 内的标签标记我正在使用 goole apis 库构建,并且 maps.jar 只存在一次(没有重复
鉴于... 从 MapActivity 扩展的 Activity 使用 ItemizedOverlay 在 map 上显示一些气球 已启用 ZoomControls ItemizeOverlay 实现
我喜欢使用 Gmaps 应用程序中众所周知的蓝色罗盘针。 是否有可用的小部件,我只是必须打开? 如果没有,你能提供给我吗教程或类(class)名称 I应该看看吗? 最佳答案 Is there a wi
我已经完成了 Google 的 MapView 教程,它在模拟器上运行良好,例如在我的 HTC Flyer 上。但是由于某种原因,它在我的手机(Samsung Galaxy I9000)上启动时立即崩
我正在使用 ActionBarSherlock与 ActionBarSherlock-Plugin-Maps在我的项目中。我想将菜单项添加到我的 MapActivity 的操作栏中,因为从 Sherl
当我创建一个 MapActivity 时我得到了这个错误 05-15 23:31:37.231: E/AndroidRuntime(760): FATAL EXCEPTION: main 05-15
请问我如何将 greendroid 库与 MapActivity 一起使用 public class GreendroidTestActivity extends GDActivity Map
我有一个扩展 MapActivity 的 Activity 。但是当我点击 map 时,永远不会调用 onTouchEvent。这是为什么? @Override public boolean onTo
我正在玩 Google API Map Activity。 最近,Android 版 Google map 发布了一项用于缓存 map 数据的新功能。有谁知道我如何在我的应用程序中做到这一点? 提前致
我是一名优秀的程序员,十分优秀!