本文介绍了如何在一段时间内异步调用与任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

我想获取音频元周期性像歌曲名和歌手名。
对于我使用的异步任务的媒体元数据猎犬。
所以,问题是

1)AsyncTask的类如何我可以将文本分配到TAXT视图。

2)我如何可以调用一个特定的时间内异步任务类,如30秒的时间间隔。

3)有一些文字,我需要在一天只有一次提取。所以如何可以检查最后一次的时候是数据获取?而且这是存储获取数据,并用它来ListView中最好的方法?(我是说我需要存储到该数据库或任何的HashMap或数组列表吗?)

下面是元数据retriver code

 公开查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){
    //充气的布局该片段
    返回inflater.inflate(R.layout.afragment,集装箱,FALSE);
}@覆盖
公共无效调用onStart(){
    super.onStart();
    initfrag();
}私人无效initfrag(){
    // TODO自动生成方法存根
    LV1 =(ListView控件)getView()findViewById(R.id.list)。    电视=(TextView中)getView()findViewById(R.id.tv1)。
    TV1 =(TextView中)getView()findViewById(R.id.tv2)。
    LongOperation任务=新LongOperation();
    task.execute();
}类LongOperation扩展的AsyncTask<弦乐,太虚,字符串> {
    @覆盖
    保护字符串doInBackground(字符串... PARAMS){
        MediaMetadataRetriever metaRetriever =新MediaMetadataRetriever();
        字符串link =HTTP://xyz-radio-link.ogg
        metaRetriever.setDataSource(链接,新的HashMap<字符串,字符串>());
        //获取MP3信息
        标题= metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
        艺术家= metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
        metaRetriever.release();
        refreshtext();
        返回null;
    }
    @覆盖
    保护无效onPostExecute(字符串结果){
    }
    @覆盖
    在preExecute保护无效(){
    }
    @覆盖
    保护无效onProgressUpdate(虚空......值){
    }
}公共无效refreshtext(){
    // TODO自动生成方法存根
    字体TF = Typeface.createFromAsset(getActivity()getAssets(),字体/的Roboto-Regular.ttf);
    tv.setTypeface(TF);
    tv1.setTypeface(TF);
    tv.setText(艺术家);
    tv1.setText(职称);
}


解决方案

You can't because you are not running on UIThread. IMHO best practice is to return this value to the UIThread using onPostExecute(). Another choice is to use runOnUIThread() with your own Runnable class.

You can use ScheduledExecutorService.

Save the last time into your DB.

Subclass (extend) ArrayAdapter for your own needs, then you can directly use it to feed the ListView. Here's an example.

这篇关于如何在一段时间内异步调用与任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 10:43