Ich arbeite an einer Android -App, die den Anruf und die SMS -Geschichte eines Kindes verfolgt. Ich verwende Firebase, um die Anrufprotokolle zu speichern, und habe ein Problem mit der Anzeige des richtigen Datums und der richtigen Uhrzeit aufgetreten. Während die anderen Informationen (Anrufnummer, Anruftyp, Dauer) korrekt abgerufen und angezeigt werden, werden Datum und Uhrzeit als "unbekannt" angezeigt.
public class CallService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
getCallLogs(); // Fetch and upload call logs
return START_STICKY;
}
private void getCallLogs() {
String[] projection = {
CallLog.Calls.NUMBER,
CallLog.Calls.TYPE,
CallLog.Calls.DATE,
CallLog.Calls.DURATION
};
try (Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, projection, null, null, null)) {
if (cursor != null && cursor.moveToFirst()) {
int numberIndex = cursor.getColumnIndex(CallLog.Calls.NUMBER);
int typeIndex = cursor.getColumnIndex(CallLog.Calls.TYPE);
int dateIndex = cursor.getColumnIndex(CallLog.Calls.DATE);
int durationIndex = cursor.getColumnIndex(CallLog.Calls.DURATION);
if (numberIndex == -1 || typeIndex == -1 || dateIndex == -1 || durationIndex == -1) {
Log.e("CallService", "One or more columns not found.");
return;
}
do {
String number = cursor.getString(numberIndex);
String type = cursor.getString(typeIndex);
long date = cursor.getLong(dateIndex); // Date is already a long
String duration = cursor.getString(durationIndex);
// Upload call log to Firebase for the specific child UID
uploadCallLogToFirebase(number, type, date, duration);
} while (cursor.moveToNext());
}
} catch (Exception e) {
Log.e("CallService", "Error reading call logs: " + e.getMessage());
}
}
private void uploadCallLogToFirebase(String number, String type, long date, String duration) {
String childUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("Users/Children/" + childUid + "/CallLogs");
String callId = ref.push().getKey(); // Create unique ID for each call log entry
CallLogEntry entry = new CallLogEntry(number, type, date, duration); // Passing long for date
if (callId != null) {
ref.child(callId).setValue(entry); // Upload call log to Firebase
}
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
< /code>
In Firebase werden die Protokolle als: < /p>
gespeichert.{
"Users": {
"Children": {
"UID": {
"CallLogs": {
"-OPwYb3T4l1LIkue6daF": {
"date": "1638002747887",
"duration": "0",
"number": "112",
"type": "2"
}
}
}
}
}
}
Das Problem ist, dass das Datum als Zeitstempel gespeichert wird (was gut aussieht). Wenn jedoch die Anrufprotokolle in der App angezeigt werden, wird das Datum eher als "unbekannt" als als korrektes Datum/Uhrzeit angezeigt. Ich bin mir nicht sicher, warum dies geschieht. das Datum nicht richtig angezeigt? Was könnte ich beim Umgang mit dem Datum fehlen oder es für die Anzeige formatieren?
Ich arbeite an einer Android -App, die den Anruf und die SMS -Geschichte eines Kindes verfolgt. Ich verwende Firebase, um die Anrufprotokolle zu speichern, und habe ein [url=viewtopic.php?t=20324]Problem[/url] mit der Anzeige des richtigen Datums und der richtigen Uhrzeit aufgetreten. Während die anderen Informationen (Anrufnummer, Anruftyp, Dauer) korrekt abgerufen und angezeigt werden, werden Datum und Uhrzeit als "unbekannt" angezeigt.[code]public class CallService extends Service {
@Override public int onStartCommand(Intent intent, int flags, int startId) { getCallLogs(); // Fetch and upload call logs return START_STICKY; }
try (Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, projection, null, null, null)) { if (cursor != null && cursor.moveToFirst()) { int numberIndex = cursor.getColumnIndex(CallLog.Calls.NUMBER); int typeIndex = cursor.getColumnIndex(CallLog.Calls.TYPE); int dateIndex = cursor.getColumnIndex(CallLog.Calls.DATE); int durationIndex = cursor.getColumnIndex(CallLog.Calls.DURATION);
if (numberIndex == -1 || typeIndex == -1 || dateIndex == -1 || durationIndex == -1) { Log.e("CallService", "One or more columns not found."); return; }
do { String number = cursor.getString(numberIndex); String type = cursor.getString(typeIndex); long date = cursor.getLong(dateIndex); // Date is already a long String duration = cursor.getString(durationIndex);
// Upload call log to Firebase for the specific child UID uploadCallLogToFirebase(number, type, date, duration); } while (cursor.moveToNext()); } } catch (Exception e) { Log.e("CallService", "Error reading call logs: " + e.getMessage()); } }
String callId = ref.push().getKey(); // Create unique ID for each call log entry CallLogEntry entry = new CallLogEntry(number, type, date, duration); // Passing long for date
if (callId != null) { ref.child(callId).setValue(entry); // Upload call log to Firebase } }
@Override public IBinder onBind(Intent intent) { return null; } } < /code> In Firebase werden die Protokolle als: < /p> gespeichert.{ "Users": { "Children": { "UID": { "CallLogs": { "-OPwYb3T4l1LIkue6daF": { "date": "1638002747887", "duration": "0", "number": "112", "type": "2" } } } } } } [/code] Das [url=viewtopic.php?t=20324]Problem[/url] ist, dass das Datum als Zeitstempel gespeichert wird (was gut aussieht). Wenn jedoch die Anrufprotokolle in der App angezeigt werden, wird das Datum eher als "unbekannt" als als korrektes Datum/Uhrzeit angezeigt. Ich bin mir nicht sicher, warum dies geschieht. das Datum nicht richtig angezeigt? Was könnte ich beim Umgang mit dem Datum fehlen oder es für die Anzeige formatieren?
Ich arbeite an einer Android -App, die den Anruf und die SMS -Geschichte eines Kindes verfolgt. Ich verwende Firebase, um die Anrufprotokolle zu speichern, und habe ein Problem mit der Anzeige des...
Der Platzhalter für die Eingabe von Zeit und Datum ist nicht vorhanden wird auf Mobiltelefonen angezeigt. Ich habe ein Bild angehängt. Ich verwende tailwindcss.
setTime(e.target.value)}
className=...
Der Platzhalter für die Eingabe von Zeit und Datum ist nicht vorhanden wird auf Mobiltelefonen angezeigt. Ich habe ein Bild angehängt. Ich verwende tailwindcss.
setTime(e.target.value)}
className=...
Hallo, ich versuche, Ergebnisse von Controller zu zeigen, um in Codesigniter anzuzeigen. Ich hole die Ergebnisse vom Modell zu Controller und zeige dann die zu map- und in Div. Ich möchte auch in Div...
Ich stoße auf ein Problem und weiß im Moment nicht, wie ich es lösen kann. Hier ist es also, ich habe eine Datumsspalte in der Datenbank wie folgt:
31-Oct-24