我经常从现有的代码库中复制并粘贴代码.Eclipse经常引入我不需要的错误导入语句
例如,我将代码复制并粘贴到我的项目包中,命名com.myproject.utilities为一个名为的文件twitter_class.java
并在它添加的java文件中
import com.pigmal.android.ex.twitter4j.TwitterConstants;
这会导致错误The import cannot be resolved.当然它不能成为原因,为什么它甚至在我甚至没有选择复制时尝试导入该部分
我可以想象这里方便的地方,但这对我来说永远不方便,经常修理很费时间.
如何在Eclipse中使用Eclipse关闭此功能.
有时随机Volley在启动时崩溃我的应用程序,它在应用程序类中崩溃,用户无法再次打开应用程序,直到他们进入设置并清除应用程序数据
java.lang.OutOfMemoryError
at com.android.volley.toolbox.DiskBasedCache.streamToBytes(DiskBasedCache.java:316)
at com.android.volley.toolbox.DiskBasedCache.readString(DiskBasedCache.java:526)
at com.android.volley.toolbox.DiskBasedCache.readStringStringMap(DiskBasedCache.java:549)
at com.android.volley.toolbox.DiskBasedCache$CacheHeader.readHeader(DiskBasedCache.java:392)
at com.android.volley.toolbox.DiskBasedCache.initialize(DiskBasedCache.java:155)
at com.android.volley.CacheDispatcher.run(CacheDispatcher.java:84)
Run Code Online (Sandbox Code Playgroud)
"diskbasedbache"尝试分配超过1 GB的内存,没有明显的原因
我怎么能让这件事不发生?这似乎是Volley的问题,或者可能是基于自定义磁盘的缓存的问题,但我没有立即看到(从堆栈跟踪)如何"清除"此缓存或执行条件检查或处理此异常
洞察力赞赏
Android有更好的webview吗?谷歌自己的文件提到不要依赖webview对象.
但是对于使用webkit而言,与具有类似硬件的移动设备上使用的其他webkit浏览器相比,它似乎是如此有限.
这在jquery移动实现或web应用程序的类似sencha触摸实现中很明显.Android版本会遇到速度下降,渲染问题以及糟糕的用户体验,其他移动设备(如iphone)也可以正常运行.他们都使用webkit.在应用程序之外,实际的Android浏览器运行得很好.
有没有办法真正解决Android的问题,在较低的水平?有没有人为Android制作更全面的网络对象?
感谢您的任何见解
我看过几个冲突的表,显示了本地化以及它们应该采用的名称
很多人都建议每个国家/地区都有这种语言版本,对于英语,西班牙语和中文等语言来说很好,如果我想让它更具体,我可以选择制作values-en文件夹或values-en_US文件夹
但是像希腊这样的其他一些语言有一个语言环境名称el_GR,我可以只创建一个文件夹名称,values-el或者它是否必须values-el_GR
这只是一个例子,我不相信我读过的表,而android开发人员指南几乎没有列出可用的语言环境
我的应用程序主要是GUI,它们与服务器通信以获取大部分信息.如果出现任何问题,通常会在网络调用中或对JSON对象做出错误的假设.
单元测试不适合这些与网络相关的任务和与i/o相关的任务,否则它们不会被称为单元测试.
所以我试图在我的案例中收集单元测试的要点.为什么我会测试Android按钮是否可以单击或EditText可以看到我键入的内容?我只是不明白实现这些繁琐的测试的效用
private void initElements(){
placeButton = (Button) findViewById(R.id.currplace);
placeButton.setText(MainActivity.this.getString(R.string.findingLocation));
placeButton.setEnabled(false);
selectplaceLayout = (LinearLayout)findViewById(R.id.selectplaceLayout);
selectplaceLayout.setVisibility(View.GONE);
splash = (RelativeLayout)findViewById(R.id.splashbg);
infoLayout = (LinearLayout)findViewById(R.id.infoLayout);
}
Run Code Online (Sandbox Code Playgroud)
如果以上方法通过,我的所有活动都在onCreate中运行,那么我知道应用程序有效.对此进行单元测试将是一个冗余耗时的事情.耗时,因为我不熟悉jUnit和Android测试框架中的所有方法.
所以,长话短说,重点是什么?有什么特别的方法我应该考虑这些测试吗?到目前为止,我所看到的所有示例和教程仅仅讨论了最简单的示例,为了简洁起见,但我无法想到在主要的客户端 - 服务器应用程序中进行单元测试的任何实际用途.
通过访问我已经知道并声明并初始化的android视图,我期望发现什么?我必须以过于有限的方式思考这个问题
所以,洞察力赞赏
我想在Android服务中创建一个每X秒运行一次的线程
我目前正在使用,但postdelayed方法似乎真的滞后我的应用程序.
@Override
public int onStartCommand(Intent intent, int flags, int startId){
super.onStartCommand(intent, flags, startId);
startRepeatingTask();
return startId;
}
private final static int INTERVAL = 20000; //20 milliseconds
Handler m_handler = new Handler();
Runnable m_handlerTask = new Runnable()
{
@Override
public void run() {
// this is bad
m_handler.postDelayed(m_handlerTask, INTERVAL);
}
};
void startRepeatingTask()
{
m_handlerTask.run();
}
void stopRepeatingTask()
{
m_handler.removeCallbacks(m_handlerTask);
stopSelf();
}
Run Code Online (Sandbox Code Playgroud)
我想做一个这样的新线程:
public void threadRun()
{
Thread triggerService = new Thread(new Runnable(){
public void run(){
Looper.prepare();
try{
//do stuff …Run Code Online (Sandbox Code Playgroud) 我在看一个看起来很酷的javascript框架.我喜欢这些演示,当我查看页面源和附加的.js文件时,我注意到该文件只有"仅受测试和评估目的,受版权保护,此软件不是免费的,并且仅授权给您进行测试"
但就在此之下,整个代码就在那里(因为它是javascript).我可以看到你是否有一个已编译的项目,有人必须闯入一个未经授权的系统来获取源代码,但你怎么会开始强制执行这样的纯文本语言?
删除他们的评论后,找到+替换变量的重命名,重新安排功能,甚至不可能知道是否有人在使用网络蜘蛛.这是一个失去业务的5秒方式.
我真的很好奇,因为这个产品似乎是他们的整个商业计划,但他们所有的商业机密都可以在演示中获得.国家没有为这类事情提供足够的补救措施,所以创造者要负担保护它(我的意思是,毕竟这是他们的商业计划)
你有什么见解吗?我完全忽略了解决方案?对于为什么有人会投入如此多的精力去做一些他们不打算自由的东西,但是却免费赠送它,我感到很困惑.
我有一个Android应用程序,它有单独的东西,但基本上都是线程(绝对是Android调试器的线程)
有多个动画侦听器可以相互循环和调用
倒计时器在启动后总是倒计时到零
现在我需要考虑添加更多的倒计时器.我可以进行多少这种循环过程?在这个特定的实现中,我不关心性能,效率等,直到它变得明显.
洞察力赞赏
我听说,仅仅通过使用javascript这一事实,sencha在Android设备上存在性能问题.
我熟悉android webview对象的局限性,但我想知道这些性能声明是否有任何优点,尤其是Sencha Touch 2出局
虽然我没有低端Android设备,但我正在浏览Sencha Touch 2画廊并且无法轻松找到免费的Android应用程序,所以也许你可以用Android上的Sencha Touch 2来解释你的体验以及你做了什么它更快
我正在使用Facebook Android SDK,并希望在用户登录并获取用户对象后关闭我的Activity.在实践中,我正在存储它的一部分,但我想关闭活动,无论如何.
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
finish(); // causes errors
}
}
});
Run Code Online (Sandbox Code Playgroud)
IDE错误消息finish()是:"Cannot make a static reference to the non-static method finish() from the type Activity"
如何进行?
android ×8
javascript ×2
timer ×2
webview ×2
diskcache ×1
eclipse ×1
extjs ×1
ide ×1
java ×1
jquery ×1
junit ×1
licensing ×1
listener ×1
locale ×1
localization ×1
robotium ×1
sencha-touch ×1
static ×1
unit-testing ×1