请理解,我现在才开始编写代码,不到一周,而且我以前从未开发过任何应用程序。我只是在互联网上看如何做事,并尝试将所有事情混合在一起。 因此,我正在制作一个android应用程序,我需要从mysql数据库中获取通知。 我所做的是找到了一个PHP脚本,该脚本将mysql表中的数据转换为Json格式,以便可以通过我的应用程序读取它。 以下是我显示数据的部分: Mysql_display.java:
private void loadIntoListView(String json) throws JSONException {
JSONArray jsonArray = new JSONArray(json);
String[] licences = new String[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
licences[i] = obj.getString("licence_number");
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, licences);
listView.setAdapter(arrayAdapter);
}
我想要在通知上同时显示此信息(许可证): MainActivity.java
public void displayNotification(){
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_alarm)
.setContentTitle("Title")
.setContentText("Licences")
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
;
NotificationManagerCompat mNotifMgr = NotificationManagerCompat.from(this);
mNotifMgr.notify( 1, mBuilder.build());
}
答案 0 :(得分:0)
给你一个答案:你不能。
像您已经声明过loadIntoListView
那样声明的方法是private
,并且声明的文件之外的任何东西都不能使用它(简单地说)。此外,即使与该方法在同一类中的某些东西也将无法访问licences
数组,因为它仅是该方法的本地变量,而不是全局声明的。
这里的其他答案将描述您如何实现想要达到的目标,此答案只是为了使您了解自己无法直接实现。
答案 1 :(得分:-1)
你不能。为了直接从另一个类访问变量,必须将变量声明为静态,否则唯一的方法是创建一个对象并像myObject.variableName这样引用它。