我最近开始使用Android工作室。我正在通过教程学习,我做了一个下载原始数据的闪烁应用程序的一部分。当我尝试运行它时,我在“消息”选项卡中收到此错误:
错误:配置项目':app'时出现问题。 无法解析配置':app:_debugCompile'的所有依赖项。 找不到com.android.support:appcompat-v7:22.+的任何匹配项,因为没有com.android.support:appcompat-v7版本可用。 在以下位置搜索: https://jcenter.bintray.com/com/android/support/appcompat-v7/maven-metadata.xml https://jcenter.bintray.com/com/android/support/appcompat-v7/ 要求: FlickrBrowser:应用程序:未指定的
控制台显示此错误:
执行任务:[:app:assembleDebug]
按需配置是一项孵化功能。
失败:构建因异常而失败。
出了什么问题: 配置项目':app'时出现问题。 无法解析配置':app:_debugCompile'的所有依赖项。 无法找到com.android.support:appcompat-v7:22.+的任何匹配项>没有com.android.support:appcompat-v7的版本可用。 在以下位置搜索: https://jcenter.bintray.com/com/android/support/appcompat-v7/maven-metadata.xml https://jcenter.bintray.com/com/android/support/appcompat-v7/ 要求: FlickrBrowser:应用程序:未指定的
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
建立失败
总时间:8.603秒
我的主要活动:
package org.example.flickrbrowser;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GetRawData getRawData = new GetRawData("https://api.flickr.com/services/feeds/photos_public.gne?tags=android,lollipop&format=json");
getRawData.execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
GetRawData.class:
package org.example.flickrbrowser;
import android.os.AsyncTask;
import android.util.Log;
import org.apache.http.HttpConnection;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* Created by Shahbaz on 07/08/15.
*/
enum DownloadStatus {
IDLE, PROCESSING, NOT_INITIALISED, FAILED_OR_EMPTY, OK
};
public class GetRawData {
private String LOG_TAG = GetRawData.class.getSimpleName();
private String mData;
private String mGetRawUrl;
private DownloadStatus mDownloadStatus;
public GetRawData(String mGetRawData) {
this.mGetRawUrl = mGetRawData;
this.mDownloadStatus = DownloadStatus.IDLE;
}
public void reset() {
this.mDownloadStatus = DownloadStatus.IDLE;
this.mGetRawUrl = null;
this.mData = null;
}
public String getmGetRawUrl() {
return mGetRawUrl;
}
public DownloadStatus getmDownloadStatus() {
return mDownloadStatus;
}
public void execute() {
this.mDownloadStatus = DownloadStatus.PROCESSING;
DownloadRawData downloadrawdata = new DownloadRawData();
downloadrawdata.execute(mGetRawUrl);
}
public class DownloadRawData extends AsyncTask<String, Void, String> {
public void onPostExecute(String webData) {
mData = webData;
Log.v(LOG_TAG, "data returned is:" + mData);
if (mData == null) {
if (mGetRawUrl == null) {
mDownloadStatus = DownloadStatus.NOT_INITIALISED;
} else {
mDownloadStatus = DownloadStatus.FAILED_OR_EMPTY;
}
} else {
mDownloadStatus = DownloadStatus.OK;
}
}
public void doInBackgroud(String... params) {
HttpURLConnection urlconnection = null;
BufferedReader reader = null;
if (params == null) {
return null;
}
try {
URL url = new URL(params[0]);
urlconnection = (HttpURLConnection) url.openConnection();
urlconnection.setRequestMethod("GET");
urlconnection.connect();
InputStream inputstream = urlconnection.getInputStream();
if (inputstream == null) {
return null;
}
StringBuffer buffer = new StringBuffer();
reader = new BufferedReader(new InputStreamReader(inputstream));
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line + "\n");
}
return buffer.toString();
} catch (IOException e) {
Log.e(LOG_TAG, "Error", e);
return null;
} finally {
if (urlconnection != null) {
urlconnection.disconnect();
}
if (reader != null) {
reader.close();
}
}
}
}
}
答案 0 :(得分:1)
您需要确保已在Android SDK中下载Android Support Repository。
答案 1 :(得分:0)
请从Android SDK下载Android Support Repository。这就是你所缺少的。然后它应该建立良好的
答案 2 :(得分:0)
从您的Android Studio:
工具 - &gt; Android - &gt; SDK Manager
等待SDK管理器完全加载。然后选中Android Support Repository
部分下的Extras
选项,然后点击安装软件包下载并安装此软件包。