小编Hus*_*sky的帖子

23
推荐指数
3
解决办法
7万
查看次数

Android - 无法在未调用Looper.prepare()的线程内创建处理程序

我正在使用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)

android android-asynctask

21
推荐指数
2
解决办法
6万
查看次数

如何获取String中第一个数字的索引

我需要找出如何获取String中第一个数字的索引.我知道如何使用一些循环,但它会非常难看所以我更喜欢一些正则表达式.有人能告诉我如何使用正则表达式做到这一点?

javascript regex

15
推荐指数
3
解决办法
2万
查看次数

删除日历条目

我编写了简单的代码来删除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 calendar

6
推荐指数
1
解决办法
5082
查看次数

Android架构模式

我刚刚开始使用android开发,我正在尝试开发我的第一个应用程序,我实际上要发布它.我有Java的编程背景和一些模式的知识但是我不知道在开发Android应用程序时我应该坚持哪些模式.还有把线放到哪里.我正在开发一个应用程序,它通过PHP脚本不断地从远程数据库加载数据并在UI上显示它们.我将应用程序划分为几层 - 表示层,域层/服务层和数据源层.在他们之间我创建了外观来访问下面的层的服务.根据其他一些模式,我真的不知道我是否应该坚持这个结构或完全重建这个应用程序.最好在开发开始时找到它,而不是在以后强制重建整个应用程序.

architecture android design-patterns architectural-patterns

5
推荐指数
2
解决办法
4801
查看次数

相对布局获取宽度/高度返回0

我需要获得相对布局的宽度和高度,但是我不知道相对布局何时准备好为我提供这两个属性.我的活动有几个标签和我所说的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)

android relativelayout

5
推荐指数
1
解决办法
5737
查看次数

从字节数组中读取两个字节

我在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)

谢谢你的回应

java byte

3
推荐指数
1
解决办法
1074
查看次数

调用函数时出现问题

我试图在按钮单击事件中调用一个函数.

$('#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

有人能给我一个提示有什么不对吗?提前致谢

javascript jquery function

1
推荐指数
1
解决办法
49
查看次数

String ...和Void ...关键字是什么意思?

是什么区别StringString...与之间有什么区别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)

java android

0
推荐指数
1
解决办法
745
查看次数