我想向Android添加一个非本机共享库,以便设备上的每个应用程序都可以使用它.我的意思是使用打包类就像核心库一样,就像它们存在于应用程序本身中一样.
我研究了Android源代码,找出了一种向应用程序添加新路径的方法,ClassLoader并发现它是在启动时创建的,之后无法更改路径.我可以使用自己的ClassLoader,但加载一个类后我将得到的所有内容都将是Class对象的引用.这样我就会通过反射机制来工作,这比本机执行系统慢.
有没有办法在Android上组织共享库?
更新:这里要清楚,我不需要应用程序之间的交互.我需要可以在任何应用程序中重用的类.静态库也不能满足我的需求,因为这会使应用程序膨胀.
更新2:对于子孙后代,我就这样做了(感谢Jorg的输入):
100.step(2, -2) do |x|
# my code
end
Run Code Online (Sandbox Code Playgroud)
(显然有很多方法可以做到这一点;但听起来这是最"Ruby"的方式;而这正是我所追求的.)
更新:好的,所以我要找的是step:
(2..100).step(2) do |x|
# my code
end
Run Code Online (Sandbox Code Playgroud)
但事实证明,在我原来的问题中,我并非100%即将到来.我实际上想要向后迭代这个范围.令我惊讶的是,消极的一步是不合法的.
(100..2).step(-2) do |x|
# ArgumentError: step can't be negative
end
Run Code Online (Sandbox Code Playgroud)
那么:我该怎么做呢?
嘿伙计们,我对Ruby 很新,所以要温柔.
假设我想迭代从2到100的偶数范围; 我该怎么办?
显然我可以这样做:
(2..100).each do |x|
if x % 2 == 0
# my code
end
end
Run Code Online (Sandbox Code Playgroud)
但是,显然(再次),这将是非常愚蠢的.
我知道我可以这样做:
i = 2
while i <= 100
# my code
i += 2
end
Run Code Online (Sandbox Code Playgroud)
我相信我也可以编写自己的自定义类,提供自己的each方法(?).不过,我几乎可以肯定这会有点矫枉过正.
我对两件事感兴趣: …
随着新ConcurrentBag<T>的.NET 4,你怎么从它,只有当删除一些具体目标TryTake()和TryPeek()可用?
我想用的TryTake(),然后只是增加了生成的对象回列表,如果我不想要删除它,但我觉得我可能会失去了一些东西.这是正确的方法吗?
OBSOLETED:这个旧问题是指过时的Google Maps v1 API.使用v2 API时,您可以在一个Google API控制台条目中使用多个证书指纹.API密钥不再存储在Manifest或代码中.
是否可以自动检测哪个证书用于签名APK?我想在应用程序中同时调试和发布Maps证书,并将有效的证书传递给MapView构造函数.
通过这样的设置,我在发布应用程序时不会出错 - 我在模拟器和我的设备上使用调试证书,然后在将应用程序发送到Market之前使用第一版进行签名.
我正在考虑检测我的特定设备或调试器是否已连接,但它并不完美.也许某些文件标记需要调试证书?有没有更好的方法?
我问PostgreSQL解释我的查询.部分解释是:
table_name --> Materialize
Run Code Online (Sandbox Code Playgroud)
具体化是做什么的?我正在加入两张桌子,而不是观看或类似的东西.
我通过Python api在Selenium RC中使用xpath.
我需要点击一个文字是"提交"的元素
这是我得到的错误:
In [18]: sel.click(u"xpath=//a[text()='Submit \xbb')]")
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
/Users/me/<ipython console> in <module>()
/Users/me/selenium.py in click(self, locator)
282 'locator' is an element locator
283 """
--> 284 self.do_command("click", [locator,])
285
286
/Users/me/selenium.py in do_command(self, verb, args)
201 body = u'cmd=' + urllib.quote_plus(unicode(verb).encode('utf-8'))
202 for i in range(len(args)):
--> 203 body += '&' + unicode(i+1) + '=' + urllib.quote_plus(unicode(args[i]).encode('utf-8'))
204 if (None != self.sessionId):
205 body += "&sessionId=" + unicode(self.sessionId)
UnicodeDecodeError: 'ascii' codec can't …Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery.serialize来检索表单中的所有数据字段.
我的问题是它没有检索未选中的复选框.
它包括:
<input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" checked="checked" />
Run Code Online (Sandbox Code Playgroud)
但不是这个
<input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" />
Run Code Online (Sandbox Code Playgroud)
如何获取未选中的复选框的"值"?
我的目标是从应用程序中存储到SD卡上的文件中设置用户通知声音.我正在使用此代码:
if(path != null){
File k = new File(path, "moment.mp3");
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "My Song title");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Some Artist");
values.put(MediaStore.Audio.Media.DURATION, 230);
values.put(MediaStore.Audio.Media.IS_RINGTONE, false);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
values.put(MediaStore.MediaColumns.DISPLAY_NAME, "Some Name");
//Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = MainActivity.this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(
MainActivity.this,
RingtoneManager.TYPE_NOTIFICATION,
newUri
);
//RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_NOTIFICATION, newUri);
Toast.makeText(this, "Notification Ringtone Set", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
当我在设备上运行时,我不断收到错误:
06-12 15:19:36.741: ERROR/Database(2847): Error inserting is_alarm=false is_ringtone=false artist_id=35 is_music=false album_id=-1 …Run Code Online (Sandbox Code Playgroud) android ×3
java ×2
python ×2
c# ×1
c#-4.0 ×1
debugging ×1
enums ×1
google-maps ×1
jquery ×1
key ×1
map ×1
mediastore ×1
postgresql ×1
range ×1
ringtone ×1
ruby ×1
selenium-rc ×1
sql ×1
unicode ×1
xpath ×1