Застрял в разборе JSON с Android, используя JIRA rest API
Я новичок в Android и Rest API. Я столкнулся с проблемой, я понятия не имею, что делать дальше. Я ищу здесь, но все устарело. Не могли бы вы указать мне правильное направление? Оценил бы некоторый код с объяснением.
Однако я пытаюсь войти в систему и получить весь проект "Ключ" из Jira JIRA REST API и просмотреть их в TextView.
Я зашел так далеко:
public class TimeTrackingJira extends AppCompatActivity {
private TextView textViewIssue, textViewProject;
private static final String urlConn = "https://xy.atlassian.net";
private static final String USERNAME = "xx";
private static final String PASSWORD = "yy";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_time_tracking_jira);
textViewProject = (TextView) findViewById(R.id.textViewProject);
textViewIssue = (TextView) findViewById(R.id.textViewIssue);
try {
Test();
} catch (IOException e) {
e.printStackTrace();
}
}
private void Test () throws IOException {
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(USERNAME, PASSWORD.toCharArray());
}
});
URL url = new URL(urlConn);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
} finally {
urlConnection.disconnect();
}
}
}
Ранее я пытался использовать свой Java-код из Java-проекта, но похоже, что библиотека устарела, и у меня были проблемы с http-клиентом, отличная от версии для Android.
Библиотека, которую я использовал, была: compile 'com.atlassian.jira:jira-rest-java-android-client-core:4.0.7'
код:
private void Test () throws Exception {
sproject = "PROJECT NAME : \n";
sissue = "ISSUE KEY : \n";
URI jiraServerUri = new URI(URL);
final AsynchronousJiraRestClientFactory factory = new AsynchronousJiraRestClientFactory();
final JiraRestClient restClient = factory.createWithBasicHttpAuthentication(jiraServerUri, USERNAME, PASSWORD);
try {
Iterable<BasicProject> project = restClient.getProjectClient().getAllProjects().claim();
for(int i = 0; i < Iterables.size(project); i++) {
String p = Iterables.get(project,i).getName(); // We have 2 project 0 - first 1- second
//System.out.println("PROJECT NAME : " + p);
sproject = sproject + p + "\n" ;
textViewProject.setText(sproject);
SearchResult searchQuery = restClient.getSearchClient().searchJql("project = \"" + p + "\"").claim();
Iterable<Issue> issues = searchQuery.getIssues();
for(int j = 0; j < Iterables.size(issues); j++) {
String issue = Iterables.get(issues,j).getKey();
sissue = sissue + issue + "\n";
textViewIssue.setText(sissue);
}
}
}
finally {
// cleanup the restClient
restClient.close();
}
}
Редактировать: в основном я пытаюсь сделать что-то подобное в REST API, как и код выше.