(使用三星Galaxy Tab和Android 3.0,这适用于每个3.0+平板电脑,就像在浏览器中一样,而不是webview)
我有一个CSS和jQuery的页面在浏览器,Android浏览器和iOS设备中加载很好,但android webview拒绝一致地加载它.
我已经缩小了问题,只是在加载javascript时跳过javascript(通过复制一些webview javascript演示应用程序的问题).为什么是这样?
这是完整的测试HTML代码
http://pastebin.com/GmE2vEYx
以下是我称之为:
myWebview.loadUrl("file:///android_asset/myPage.html");
myWebview.getSettings().setJavaScriptEnabled(true);
myWebview.setWebChromeClient(new WebChromeClient());
Run Code Online (Sandbox Code Playgroud)
这三个调用的顺序不会影响结果.
myWebview.getSettings().setJavaScriptEnabled(true);
myWebview.setWebChromeClient(new WebChromeClient());
myWebview.loadUrl("file:///android_asset/myPage.html");
Run Code Online (Sandbox Code Playgroud)
我注意到的一件事是,如果你给它时间(通过在调试器中暂停应用程序断点),那么javascript将更加一致地加载.这导致我尝试使应用程序加载速度较慢的一些牵强附会的实验,但这实际上不是所需的用户体验.我真的希望Android webview真的不是移动开发的IE6.
其他事实:
如果删除<script>包含所有Jquery 的标记,则页面会快速加载所有CSS格式.一旦添加了Jquery,就什么都没有加载.
我还发现了几个遇到完全相同问题的其他问题,许多问题没有得到答复,或者对OP正在寻求的内容没有确切的答案:(
看: Android:即使使用setJavaScriptEnabled(true)也无法让javascript在WebView上运行
页面重新加载(Webview.loadUrl)导致Javascript未被(完全)处理
http://groups.google.com/group/android-developers/browse_thread/thread/9962064ef217a5a7#
JavaScript有时在android的webview中不起作用
Android WebView没有加载JavaScript文件,但Android浏览器加载它很好
Android的Webview无法处理javascript?
建议?让我们来到这个底部!android文档说webview有局限性,但我不知道那个限制在哪里,因为人们一直在制作HTML CSS JS应用程序!
我有一个带有一些C++代码的Objective C项目,果然C++代码无法编译
我知道编译器会假设要编译哪种语言,但我之前看过这个应用程序运行所以我很好奇如何让我的Xcode 4运行编译这个项目
即.由于编译器无法识别c ++ std::语法,因此此函数声明会产生错误
std::string string_with_formatting(const unsigned int value)
{
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我应该有#include或#import
我一直在为Android 2.2+开发大部分时间.但是,当我查看维基百科上的"Android设备列表"时,我看到了大量的Android 2.1设备.其中许多可能从未收到OTA更新,有些是在很久以前发布的.我已经看到有关Android 2.2的现成统计数据是最广泛使用的,但我不禁觉得我正在削减大量观众.
我已经看到了2.1和2.2之间的一些差异(就像使用TabWidgets一样)但是如果我把我的SDK降到2.1,我应该注意哪些差异?
这是否现在更不重要,欢迎思想和经验,或链接到信息来源
我正在尝试使用Logcat来帮助诊断我的android问题.我经常插入手机并运行模拟器.有时我在模拟器上调试,有时我在手机上调试,甚至可能在第三个设备上调试.
切换设备后,Logcat不会继续显示消息.如何在不重新启动eclipse的情况下指定Logcat执行的操作或强制它恢复日志记录?
洞察力赞赏
我刚做了九个补丁
http://i41.tinypic.com/f4fk35.png
它从draw9补丁工具中保存为border.9.png.
在我的Android布局编辑器中,它显示出它将是一个适当的9补丁图形,伸展但不像素化.
http://i39.tinypic.com/28bsi69.png
然而在一个真实的设备上,它只是显示一个巨大的拉伸图像,看到9patch指南,它看起来非常糟糕
http://i42.tinypic.com/eoshe.png
这是怎么回事???以及如何解决它
我的xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/border"
android:orientation="vertical"
android:padding="35dip" >
Run Code Online (Sandbox Code Playgroud) 我刚刚意识到我在Surfaceholder中的相机活动在某些设备上不起作用.一些DROID品牌和皮肤手机.到目前为止,它适用于所有具有标准Android实现的谷歌手机.
我有一个简短的时刻在2.2上调试一个设备(不知道究竟是什么型号的手机,但它是皮肤的)我看到调试器说(ICamera失败)(相机错误100)
但我没有机会找到它出错的确切位置,但我确实看到其他人遇到过这个问题(关于在开始预览之前获取预览尺寸的事情),但没有明显的反应或任何直观的东西我有,但这是我的相机代码,什么会使这项工作更普遍?
//this is in OnCreate
preview = (SurfaceView) findViewById(R.id.cameraplacer);
previewHolder = preview.getHolder();
previewHolder.addCallback(surfaceCallback);
previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
Run Code Online (Sandbox Code Playgroud)
//这不在生命周期方法之内
SurfaceHolder.Callback surfaceCallback=new SurfaceHolder.Callback() {
public void surfaceCreated(SurfaceHolder holder) {
if (camera == null) {
camera = Camera.open();
try {
Camera.Parameters camParams = camera.getParameters();
camParams.setFlashMode(Parameters.FLASH_MODE_AUTO);
setDisplayOrientation(camera, 90);
camera.setPreviewDisplay(previewHolder);
camera.setParameters(camParams);
} catch (IOException e) {
camera.release();
camera = null;
}
}
}//end surfaceCreated
public void surfaceChanged(SurfaceHolder holder,
int format, int width,
int height) {
Camera.Parameters parameters=camera.getParameters();
Camera.Size size=getBestPreviewSize(width, height,
parameters);
if (size!=null) {
parameters.setPreviewSize(size.width, size.height); …Run Code Online (Sandbox Code Playgroud) 当我点击我的应用程序中的链接时,它们会在同一个webview中打开.我希望它们在外部浏览器中打开.
我这样做了:
myWebView.setWebViewClient(new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
返回false使其在同一webview中加载,返回"true"使得单击链接时不会发生任何事情.
我看了其他问题,但似乎其他人都有完全相反的问题.(他们希望在他们的应用中加载链接)
我究竟做错了什么?
片段和片段活动本质上比活动更快?
如果我不需要在片段中加载我的活动,我应该使用FragmentActivities和Fragments over Activities吗?
我要问的原因是因为我多年来一直在使用活动,Facebook SDK以及谷歌地图2.0迫使我使用碎片,我现在想知道它们本质上是否"更好"与否其他实施.
如果这"不具有建设性"或"过于开放",那么答案显然是"不".但如果有一些谷歌开发者文档或博客关于这个确切的主题,那么我想知道它
android android-fragments android-view android-activity android-fragmentactivity
我.add(对我的Volley Request Queue进行了新的网络调用,我建议将其创建为单例.但我总是立即进行.start()这些网络通话.这始终是作为活动或片段中的动作完成的.
该add方法甚至不能链接到一个start方法,如.add(new volley request).start()
所以这假设我实际上正在管理(或想要管理)某个网络队列,而不是Volley处理其队列的方式,我猜.我应该将这些东西发送到IntentService并监听IntentService以将响应发送回我的Fragment/Activity吗?
我正在使用Android Google Maps Api V2(不是MapView或MapActivity),我很难获得地图中心的坐标.
我在考虑使用
@Override
public void onCameraChange(CameraPosition arg0) {
// TODO Auto-generated method stub
geoCodeCenter(/*Location object*/);
}
Run Code Online (Sandbox Code Playgroud)
但我无法从CameraPosition对象获取lat/long.相机也有更多的尺寸,因为你现在也可以看到不同间距的地图,所以获得纬度/经度的中心是不一样的,因为用户不能保证从鸟瞰图看地图,除非某些手势被禁用.
有一个更好的方法吗?我不希望用户长时间点击标记将其拖动到地图上,我希望他们只需知道用户平移地图中心的位置.
该map.getMyLocation()方法适用于其他方法,例如当前的LocationProvider位置.尽管我使用GPS并且它仍然返回null,但也看似不是选项
android ×9
webview ×2
android-view ×1
background ×1
camera ×1
device ×1
filter ×1
function ×1
gcc ×1
javascript ×1
linker ×1
logcat ×1
nine-patch ×1
objective-c ×1
sdk ×1
version ×1
xcode ×1
xml ×1