Porównanie Jquery i Java Android - początkująca

0

Witam Was bardzo serdecznie, chciałabym nauczyć się programować i tworzyć aplikacje Android. Mam sporą wiedze w javascript i PHP ale nie moge sobie poradzić z mega podstawami. Mam Guzik i mam tekst ukryty, chciałabym aby po kliknięciu test stał się widoczny.

Czy może mi ktoś wyjaśnić jak to zrobić prostym zrozumiałym sposobem i wyjaśnić? proszę mnie nie odsyłać do ksiązek i do google bo owszem są strony gdzie jest pokazane jak robić coś na kliknięcie ale to jest dla mnie niezrozumialem. Dziekuje

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#596375"
tools:context="com.example.bs.myapplication.MainActivity">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="POKAZ UKRYTY TEKST"
    android:layout_marginTop="160px"
    android:layout_centerHorizontal="true"
    android:onClick="pokazTekst"
    android:id="@+id/guzik" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:textColor="#A3A9B4"
    android:textSize="30px"
    android:layout_marginTop="300px"
    android:text="TO NIE JEST JUZ UKRYTY TEKST"
    android:textStyle="italic"
    android:visibility="invisible"
    android:id="@+id/ukrytyTekst" />
</relativelayout>

package com.example.bs.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



}

}

1

W MainActivity musisz się podpiąć do widoku np.

TextView text = (TextView) findViewById(R.id.ukrytyTekst);
Button manageVisibilityOfText = (Button) findViewById(R.id.guzik);

Następnie musisz podpiąć listener do przycisku:

manageVisibilityOfText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                text.setVisibility(View.VISIBLE);
            }
        });
0

Error:(8, 5) error: cannot find symbol class TextView
Error:(9, 38) error: cannot find symbol class Button
Error:(17, 59) error: package View does not exist

1

Gdzie to umieściłaś? Zrobiłaś importy?

0
package com.example.bs.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    TextView text = (TextView) findViewById(R.id.ukrytyTekst);
    Button manageVisibilityOfText = (Button) findViewById(R.id.guzik);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        manageVisibilityOfText.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                text.setVisibility(View.VISIBLE);
            }
        });



    }
}
1

Brakuje importów. IDE nie podpowiada?

import android.view.View;
import android.widget.Button;
import android.widget.TextView;

i to:

 TextView text = (TextView) findViewById(R.id.ukrytyTekst);
    Button manageVisibilityOfText = (Button) findViewById(R.id.guzik);

wstaw do onCreate()

0

Jako narzędzia do Androida używasz?

0

panryz dziękuje pięknie - poszło "moja pierwsza aplikacja" działa (testuje na bieżąco na moim smartfonie przez Android Studio

final TextView invisibleText = (TextView) findViewById(R.id.progressValue);
Button manageVisibilityOfText = (Button) findViewById(R.id.buttonStart);

rozumiem że powyżej definiujemy obiekty których będziemy używać - dajemy do zrozumienia że one istnieją i nadajemy je nazwy użytkowe

import android.widget.Button;
import android.widget.TextView;

nie do końca wiem o co z tym chodzi ale poczytam, tematu nie zamykam bo pewnie za chwilę będę potrzebowała więcej pomocy

0

rozumiem że powyżej definiujemy obiekty których będziemy używać - dajemy do zrozumienia że one istnieją i nadajemy je nazwy użytkowe

Nie do końca istnieją. findViewById robi inflate do pliku wskazanego przy setContentView. Jeśli w tym pliku XML znajdzie ID to robi obiekt typu View i można na nim potem wykonywać operacje dostępne dla tego typu (np widzialność).

Importy wskazują miejsca z jakich powinno zabierać się typy obiektów. Android udostępnia swoje typy więc musisz klasie wskazać z którego typu będziesz korzystać (w jakiej paczce się znajduje).

0

a gdybym chciała podpiać jeszcze do tego jedną rzecz? czyli na zrób ten text widoczny ale zmień również jego kolor na czarny

mogę to zrobic bezpośrednio w następnej linijce ? jak?

0

Tak, możesz to zrobić:

text.setTextColor(Color.parseColor("#bdbdbd"));
0

właśnie probowałam to i mam błąd

Error:(33, 45) error: cannot find symbol variable Color

0

No tak. Znów import. Jak najedziesz na czerwone (tak są podświetlane błędy) i naciśniesz alt+enter to on Ci automatycznie zaimportuje brakującą paczkę.

0

ćwiczę sobie trochę od wczoraj, powoli ogarniam cały ten bajzel, jednak ciągle natrafiam na jakieś niezrozumiałe dla mnie błędy, chciałabym po kliknięciu otrzymać status nadałowania baterii i informacje czy aktualnie jest włączona wymiana danych czy nie.

                    

Intent batteryIntent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

mojePoleTextowe.setText(scale);

błędów nie ma, jak klikam (na Androidzie przy teście) to występują błąd i aplikacja się wyłącza

0

Pokaż z jakim komunikatem się wysypuje

0

07-17 1746.700 21466-21466/com.example.bs.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.bs.myapplication, PID: 21466
android.content.res.Resources$NotFoundException: String resource ID #0x64
at android.content.res.Resources.getText(Resources.java:322)
at android.support.v7.widget.ResourcesWrapper.getText(ResourcesWrapper.java:52)
at android.widget.TextView.setText(TextView.java:4172)
at com.example.bs.myapplication.MainActivity$1.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:4848)
at android.view.View$PerformClick.run(View.java:20262)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5643)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

0

NotFoundException: String resource ID
Nie znalazł czegos w zasobach

1 użytkowników online, w tym zalogowanych: 0, gości: 1