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 读出来出问题了……求各位大神瞄一眼
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 读出来出问题了……求各位大神瞄一眼
![](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/8.gif)