我想要的是使用OpenStreetMap显示一个简单的离线地图.我无法在网络上找到正确的工具来创建地图图块并使用它来在Android中显示地图.我已经下载了不同的资源,但似乎我不知道从哪里开始.我想使用JOSM整合来自OpenStreetMap的图像,但我不知道我是否可以在Android上使用它.
我可以使用Mapnik吗?你的帮助将非常感谢你.
我正在解决一个问题,我需要将一个sqlite数据库附加到另一个.其中一个数据库由我的应用程序创建,另一个数据库是从远程服务器下载的.我更喜欢用合法的数据格式(如JSON)来获取它,但我无法控制这方面.
问题是下载的sqlite文件的编码是UTF-16le.本地文件是UTF-8(Android的默认值).我可以自己读取这两个文件,但SQLite只允许在编码匹配时进行ATTACH操作.
每当我创建本地数据库时,解决方案应该像使用UTF-16le编码一样简单,但似乎在获取数据库对象之前总是设置编码,我无法更改它.我正在使用SQLiteOpenHelper,我假设所有PRAGMA语句都应该在onConfigure()中发生,如下所示:
@Override
public void onConfigure(SQLiteDatabase db) {
db.execSQL("PRAGMA encoding = \"UTF-16le\"");
}
Run Code Online (Sandbox Code Playgroud)
当我在这一点之后检查编码时,它总是UTF-8.
Log.d(TAG, DatabaseUtils.dumpCursorToString(db.rawQuery("PRAGMA encoding", null)));
Run Code Online (Sandbox Code Playgroud)
结果:
04-12 11:10:07.116: D/MainActivity(10743): >>>>> Dumping cursor android.database.sqlite.SQLiteCursor@b3636fd0
04-12 11:10:07.116: D/MainActivity(10743): 0 {
04-12 11:10:07.116: D/MainActivity(10743): encoding=UTF-8
04-12 11:10:07.116: D/MainActivity(10743): }
04-12 11:10:07.116: D/MainActivity(10743): <<<<<
Run Code Online (Sandbox Code Playgroud)
我甚至尝试在内存中创建一个数据库并设置其编码,但之后它总是报告UTF-8:
SQLiteDatabase db = SQLiteDatabase.create(null);
db.execSQL("PRAGMA encoding = \"UTF-16le\"");
Run Code Online (Sandbox Code Playgroud)
我有点困惑,因为我可以打开这些UTF-16le编码的数据库并正确报告它们的编码,但我似乎无法在设备上创建一个.在我创建数据库的时候,有没有办法设置数据库的编码?
我构建了SimpleTunnel示例应用程序(由apple提供),并在运行OS 10.11(OS X El Capitan)的MAC上运行IOS设备上的VPN客户端和VPN服务器(tunnel_server)
在MAC: -
$ sudo ./tunnel_server 550 ../../tunnel_server/config.plist
Run Code Online (Sandbox Code Playgroud)
回应: -
tunnel_server[87725:2604682] Starting network service on port 550
tunnel_server[87725:2604682] Network service published successfully
Run Code Online (Sandbox Code Playgroud)
在IOS设备上: -
接下来,我在IOS设备上运行PacketTunnel应用程序.添加了具有正确IP地址(运行tunnel_server的MAC的IP地址)和端口号(tunnel_server的端口号为550)的VPN配置.
接下来我尝试从IO设备连接到VPN ,这看起来很好,因为我看到VPN登录状态栏.
在运行tunnel_server的屏幕上响应: -
tunnel_server[87739:2606312] Accepted a new connection
tunnel_server[87739:2606312] Allocated address Optional("10.8.0.15")
Run Code Online (Sandbox Code Playgroud)
但是我无法在IOS设备上使用Safari浏览互联网(它超时),但我可以从MAC中做同样的事情.
关于我可能缺少什么的任何见解?
请注意我的MAC没有安装OS X服务器.我还在MAC上启动tunnel_server之前从终端运行了以下两个命令
sudo sysctl net.inet.ip.forwarding=1
sudo sysctl net.inet.ip.fw.enable=1
Run Code Online (Sandbox Code Playgroud) 使用我的一个应用程序在android 4.4上发生了一些奇怪的事情.我正在使用自定义视图,我在其中设置自定义字体Typeface.createFromAsset.如上图所示,渲染在设备/模拟器上工作正常.当我将自定义视图的内容保存为位图时,会出现问题:
Bitmap currentBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(currentBitmap);
view.draw(canvas);
Run Code Online (Sandbox Code Playgroud)
在android <4.4上一切正常.保存的图像与屏幕上可见的图像相同.但是,在4.4我只看到字体边框,文本内部是透明的.我怎样才能解决这个问题 ?
