android BufferedReader 的读取问题……

public class MainActivity extends AppCompatActivity {
   SearchLRC lrc;
   BufferedReader r;
   TextView tx;
   StringBuffer rr;
   StringBuffer result=new StringBuffer();

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       tx=(TextView)findViewById(R.id.text);
       lrc=new SearchLRC("黄昏","周传雄");
       lrc.execute();
       //br=lrc.fetchLyric();
   }
   public class SearchLRC extends AsyncTask<Void,Integer,BufferedReader> {
       private URL url;
       BufferedReader br1;
       public static final String DEFAULT_LOCAL = "GB2312";
       StringBuffer sb = new StringBuffer();
       String s;

       private boolean findNumber = false;
       int begin = 0, end = 0, number = 0;// number=0表示暂无歌词
       String strid = "",name,singer;


       StringBuffer result = new StringBuffer();
     
       public SearchLRC(String musicName, String singerName) {
           try {
               name = URLEncoder.encode(musicName, "utf-8");
               singer = URLEncoder.encode(singerName, "utf-8");
           } catch (UnsupportedEncodingException e2) {
               // TODO Auto-generated catch block
               e2.printStackTrace();
           }
       }

       protected void onPostExecute(BufferedReader br)
       {
           try{
               String temp = null;
               String s = null;
               while((temp = br.readLine()) != null)
               {
                   s = s + temp;
               }
               Log.e("size of br1", s);
           } catch (IOException e1) {
               e1.printStackTrace();
           }
       }
       protected BufferedReader doInBackground(Void... params)
       {
           String strUrl = "http://box.zhangmen.baidu.com/x?op=12&count=1&title=" +
                   name + "$$"+ singer +"$$$$";
           Log.d("test", strUrl);
           try {
               url = new URL(strUrl);
               Log.d("SearchLRC==============","url = "+url);
           } catch (Exception e1) {
               e1.printStackTrace();
           }
           BufferedReader br = null;
           try {
               HttpURLConnection httpConn   =   (HttpURLConnection)url.openConnection();
               httpConn.connect();
               httpConn.connect();
               InputStreamReader inReader = new InputStreamReader(httpConn.getInputStream());

               Log.d("the encode is ", inReader.getEncoding());
               br = new BufferedReader(inReader);
           } catch (IOException e1) {
               e1.printStackTrace();
               Log.d("tag", "br is null");
           }
           try {
               while ((s = br.readLine()) != null) {
                   Log.d("SearchLRC","s = "+s);
                   sb.append(s + "/r/n");
               }
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }finally{
               try {
                   br.close();
               } catch (IOException e) {
                   e.printStackTrace();
               }
           }
           begin = sb.indexOf("<lrcid>");
           Log.e("test", "sb = " + sb);
           if (begin != -1) {
               end = sb.indexOf("</lrcid>", begin);
               strid = sb.substring(begin + 7, end);
               number = Integer.parseInt(strid);
           }
           String geciURL = "http://box.zhangmen.baidu.com/bdlrc/" + number / 100
                   + "/" + number + ".lrc";
           SetFindLRC(number);
           Log.e("number", String.valueOf(number));
           Log.e("test", "geciURL = " + geciURL);

           //String s = new String();
           try {
               url = new URL(geciURL);
           } catch (MalformedURLException e2) {
               e2.printStackTrace();
           }

           try {
               br1= new BufferedReader(new InputStreamReader(url.openStream(),"GB2312"));
           } catch (IOException e1) {
               e1.printStackTrace();
           }
           return br1;
       }
       private void SetFindLRC(int number) {
           if(number == 0)
               findNumber = false;
           else
               findNumber = true;
       }
       public boolean GetFindLRC(){
           return findNumber;
       }
   }
}
就是个联网获取歌词的类……现在把BufferedReader br 读出来出问题了……求各位大神瞄一眼
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值