我正在使用Google Maps V2 API开发一个简单的应用程序,只是为了获得基础知识,我正面临着这样的错误:
09-09 21:21:41.154: E/AndroidRuntime(3796): FATAL EXCEPTION: Thread-441
09-09 21:21:41.154: E/AndroidRuntime(3796): java.lang.ExceptionInInitializerError
09-09 21:21:41.154: E/AndroidRuntime(3796): at cz.vongrad.dataSourceLayer.DataMapper.loadLocation(DataMapper.java:111)
09-09 21:21:41.154: E/AndroidRuntime(3796): at cz.vongrad.dataSourceLayer.DBFacade.loadLocations(DBFacade.java:32)
09-09 21:21:41.154: E/AndroidRuntime(3796): at cz.vongrad.domainLayer.Controller.loadLocations(Controller.java:94)
09-09 21:21:41.154: E/AndroidRuntime(3796): at cz.vongrad.locator.MapActivity$1.run(MapActivity.java:199)
09-09 21:21:41.154: E/AndroidRuntime(3796): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
09-09 21:21:41.154: E/AndroidRuntime(3796): at android.os.Handler.<init>(Handler.java:121)
09-09 21:21:41.154: E/AndroidRuntime(3796): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:607)
09-09 21:21:41.154: E/AndroidRuntime(3796): at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:607)
09-09 21:21:41.154: E/AndroidRuntime(3796): at android.os.AsyncTask.<clinit>(AsyncTask.java:190)
09-09 21:21:41.154: E/AndroidRuntime(3796): ... 4 more
09-09 21:21:41.164: E/EmbeddedLogger(239): App …
Run Code Online (Sandbox Code Playgroud) 我需要找出如何获取String中第一个数字的索引.我知道如何使用一些循环,但它会非常难看所以我更喜欢一些正则表达式.有人能告诉我如何使用正则表达式做到这一点?
我编写了简单的代码来删除android日历中的所有条目,但它没有删除任何内容.
源代码:
public void DeleteEvent(View view){
int iNumRowsDeleted = 0;
Uri eventsUri = Uri.parse("content://com.android.calendar/events");
Cursor cur = getContentResolver().query(eventsUri, null, null, null, null);
while (cur.moveToNext()){
long id = cur.getLong(cur.getColumnIndex("_id"));
Log.d(TAG, "ID: " + id);
Uri eventUri = ContentUris.withAppendedId(eventsUri, id);
iNumRowsDeleted = getContentResolver().delete(eventUri, null, null);
}
}
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用android开发,我正在尝试开发我的第一个应用程序,我实际上要发布它.我有Java的编程背景和一些模式的知识但是我不知道在开发Android应用程序时我应该坚持哪些模式.还有把线放到哪里.我正在开发一个应用程序,它通过PHP脚本不断地从远程数据库加载数据并在UI上显示它们.我将应用程序划分为几层 - 表示层,域层/服务层和数据源层.在他们之间我创建了外观来访问下面的层的服务.根据其他一些模式,我真的不知道我是否应该坚持这个结构或完全重建这个应用程序.最好在开发开始时找到它,而不是在以后强制重建整个应用程序.
我需要获得相对布局的宽度和高度,但是我不知道相对布局何时准备好为我提供这两个属性.我的活动有几个标签和我所说的getWidth()
和getHeight()
在onCreateView()
后inflater.inflate(R.layout.fragment_pizza, container, false);
,但它返回0对他们俩的,所以他们都没有明显准备.是否有某种事件,如afterCreateView()或类似的东西,我可以调用这两个方法,并获得实际的宽度和高度?
码:
public class PizzaFragment extends Fragment {
private static final String TAG = "PizzaFragment";
private Controller controller;
private static final int BUTTON_WIDTH = 70;
private static final int BUTTON_HEIGHT = 20;
private static final int MARGIN_LEFT = 80;
private static final int MARGIN_BOTTOM = 30;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
controller = Controller.getInstance();
controller.loadProducts("pizza", getActivity().getApplicationContext());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View …
Run Code Online (Sandbox Code Playgroud) 我在Java中创建一个简单的应用程序,它允许我读取文本文件.我有一个包含在ByteBuffer中的字节数组:
FileInputStream inputStream = new FileInputStream(name);
FileChannel channel = inputStream.getChannel();
byte[] bArray = new byte[8192];
ByteBuffer byteBuffer = ByteBuffer.wrap(bArray);
int read;
Run Code Online (Sandbox Code Playgroud)
然后我使用while循环来浏览文本文件:
while ( (read=channel.read(byteBuffer)) != -1 )
{
for ( int i=0; i<read; i++ )
//my code
byteBuffer.clear( );
}
Run Code Online (Sandbox Code Playgroud)
我的问题是在这种情况下如何读取Unicode字符.Unicode字符由2个字节(16位)组成,因此我认为bArray [i]保存第一个(更高)8位,随后的8位是该字符的第二部分.所以,例如,如果我需要找出这个字符:"#"当前是否在索引i和i + 1上,我可以这样做吗?(二进制表示中的"#":0010 0011):
if (bArray[i] == (byte)10 && bArray[i+1] == (byte) 11)
Run Code Online (Sandbox Code Playgroud)
谢谢你的回应
我试图在按钮单击事件中调用一个函数.
$('#btn_save').button().click(function(){
executeStatement();
});
$.fn.executeStatement = function(){
alert("Here!!!");
$.ajax({
url: 'api.php',
data: sqlStatement,
dataType: 'json',
success: function(data)
{
alert("Success!!!");
}
});
}
Run Code Online (Sandbox Code Playgroud)
问题是它永远不会被调用,因为它根据调试器未定义: Uncaught ReferenceError: executeStatement is not defined
有人能给我一个提示有什么不对吗?提前致谢
是什么区别String
和String...
与之间有什么区别Void
,并Void...
在这方面?
class AddStringsTask extends AsyncTask<Void, String, Void>{
@Override
protected Void doInBackground(Void... unused) {
for (String item: items){
publishProgress(item);
SystemClock.sleep(200);
}
return(null);
}
@Override
protected void onProgressUpdate(String... item){
((ArrayAdapter)getListAdapter()).add(item[0]);
}
@Override
protected void onPostExecute(Void unused){
Toast.makeText(Cap15Asyncer.this,"Completed!" , Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud) android ×5
java ×3
javascript ×2
architecture ×1
byte ×1
calendar ×1
function ×1
jquery ×1
regex ×1
utf-8 ×1