• MainApplication.java
  • ICHKI TAQRIZ
  • Kompyuter ilmlari va dasturlashtirish kafedrasi __________________________________________________________
  • ____________________________________ kafedrasi __________________________________________________________
  • Mobil ilovalarni yaratish texnologiyalari




    Download 266,14 Kb.
    bet4/4
    Sana17.12.2023
    Hajmi266,14 Kb.
    #121741
    1   2   3   4
    Bog'liq
    Kurs ishi MOBILE ILOVALAR YARATISH
    5dasM, Informatika, Linux, labaratoriya, JIS TARBIYA 9-SINF 2023-11111222, Eritmalarning elektr o\'tkazuvchanligi, \'Dissotsiyalanish, 654425, 36654443, 885455, INFORMATIKANI O’QITISH TEXNOLOGIYALARI VA LOYIHALASHTIRISH O\'quv qo\'llanma, True, 01 07 - Software Testing Classification, 1404906815 55023
    MainActivity.java
    package com.EduHub;













    import com.facebook.react.ReactActivity;










    public class MainActivity extends ReactActivity {










    /**




    * Returns the name of the main component registered from JavaScript.




    * This is used to schedule rendering of the component.




    */




    @Override




    protected String getMainComponentName() {




    return "EduHub";




    }




    }



    MainApplication.java
    package com.notebook;













    import android.app.Application;










    import com.facebook.react.ReactApplication;




    import com.oblador.vectoricons.VectorIconsPackage;




    import com.imagepicker.ImagePickerPackage;




    import com.facebook.react.ReactNativeHost;




    import com.facebook.react.ReactPackage;




    import com.facebook.react.shell.MainReactPackage;




    import com.facebook.soloader.SoLoader;










    import java.util.Arrays;




    import java.util.List;










    public class MainApplication extends Application implements ReactApplication {










    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {




    @Override




    public boolean getUseDeveloperSupport() {




    return BuildConfig.DEBUG;




    }










    @Override




    protected List getPackages() {




    return Arrays.asList(




    new MainReactPackage(),




    new VectorIconsPackage(),




    new ImagePickerPackage()




    );




    }










    @Override




    protected String getJSMainModuleName() {




    return "index";




    }




    };










    @Override




    public ReactNativeHost getReactNativeHost() {




    return mReactNativeHost;




    }










    @Override




    public void onCreate() {




    super.onCreate();




    SoLoader.init(this, /* native exopackage */ false);




    }




    }


    Actions.js

    import axios from ‘axios’;







    import {AsyncStorage} from ‘react-native’;




    import actionTypes from ‘../actionTypes’;




    import environment, { setAuthorizationHeader } from ‘../environment’;










    const { apiUrl } = environment;










    /**




    * Action creator that handles registration




    * @param userDetails




    * @return {Function}




    */




    export const register = userDetails => dispatch => {




    dispatch({ type: actionTypes.REGISTRATION_LOADING });










    axios.post(`${apiUrl}/register`, userDetails)




    .then( async (response) => {




    if (response.status !== 201) {




    return dispatchAction(actionTypes.REGISTRATION_FAILURE, ‘Server error, try again’, dispatch);




    }










    try {




    await AsyncStorage.setItem(‘token’, response.data.access_token);




    dispatchAction(actionTypes.REGISTRATION_SUCCESS, null, dispatch);




    } catch(e) {




    dispatchAction(actionTypes.REGISTRATION_FAILURE, ‘Error occurred, try again’, dispatch);




    }




    })




    .catch(err => {




    if(err.response.status === 409) {




    return dispatchAction(actionTypes.REGISTRATION_FAILURE, err.response.data, dispatch);




    }










    dispatchAction(actionTypes.REGISTRATION_VALIDATION_ERROR, err.response.data, dispatch);




    });




    };










    /**




    * Action creator that clears all registration errors




    * @return {Function}




    */




    export const clearRegistrationErrors = () => dispatch => {




    dispatchAction(actionTypes.REGISTRATION_CLEAR_ERRORS, null, dispatch);




    };










    /**




    * Action creator that handles login




    * @param userCredentials




    * @return {Function}




    */




    export const login = userCredentials => dispatch => {




    dispatch({ type: actionTypes.LOGIN_LOADING });










    axios.post(`${apiUrl}/login`, userCredentials)




    .then( async (response) => {




    if (response.status !== 200) {




    return dispatchAction(actionTypes.LOGIN_FAILURE, ‘Server error, try again’, dispatch);




    }










    try {




    await AsyncStorage.setItem(‘token’, response.data.access_token);




    dispatchAction(actionTypes.LOGIN_SUCCESS, null, dispatch);




    } catch(e) {




    dispatchAction(actionTypes.LOGIN_FAILURE, ‘Error occurred, try again’, dispatch);




    }




    })




    .catch(err => {




    if(err && err.response.status === 404) {




    return dispatchAction(actionTypes.LOGIN_FAILURE, err.response.data, dispatch);




    }










    dispatchAction(actionTypes.LOGIN_VALIDATION_ERROR, err.response.data, dispatch);




    });




    };










    /**




    * Action creator that clears all login errors




    * @return {Function}




    */




    export const clearLoginErrors = () => dispatch => {




    dispatchAction(actionTypes.LOGIN_CLEAR_ERRORS, null, dispatch);




    };










    /**




    * Action creators that handles logout




    * @return {Function}




    */




    export const logout = () => async (dispatch) => {




    axios.get(`${apiUrl}/logout`)




    .then(async (response) => {




    if (response.status === 200) {




    await AsyncStorage.removeItem(‘token’);




    dispatchAction(actionTypes.LOGOUT_SUCCESS, null, dispatch);




    }




    });




    };










    /**




    * Action creators that authenticates user




    * @return {Function}




    */




    export const authenticate = () => async (dispatch) => {




    await setAuthorizationHeader();










    axios.get(`${apiUrl}/user`)




    .then(response => {




    if(response.status === 200 && response.data) {




    return dispatchAction(actionTypes.AUTHENTICATE_SUCCESS, response.data, dispatch);




    }










    return Promise.reject();




    })




    .catch(() => dispatchAction(actionTypes.AUTHENTICATE_FAILURE, null, dispatch));




    };










    /**




    * Helper function that dispatches action




    * @param actionType




    * @param payload




    * @param dispatch




    */




    const dispatchAction = (actionType, payload, dispatch) => {




    dispatch({




    payload,




    type: actionType




    })




    };




    ICHKI TAQRIZ
    Mirzo Ulug‘bek nomidagi O‘zbekiston Milliy universiteti Jizzax filiali Аmaliy matematika fakulteti _____ - guruh talabasi ________________________ ______________________________________________________________ ning __________________________________________________________________
    __________________________________________________________________
    mavzusidagi kurs ishida ____ bob, ____ paragrafdan iborat bo‘lib, unda quyidagilar keltirilgan: ___________________________________________________________
    ________________________________________________________________________________________________________________________________________
    ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
    Kamchiliklar:
    ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
    _______ - guruh talabasi __________________________________________ ning kurs ishini _____ bahoga tavsiya etaman.
    Kompyuter ilmlari va dasturlashtirish
    kafedrasi __________________________________________________________
    (lavozimi) (imzo) (Familiyasi, Ismi)


    TASHQI TAQRIZ
    Mirzo Ulug‘bek nomidagi O‘zbekiston Milliy universiteti Jizzax filiali Аmaliy matematika fakulteti _____ - guruh talabasi ________________________ ______________________________________________________________ ning __________________________________________________________________
    __________________________________________________________________
    mavzusidagi kurs ishida ____ bob, ____ paragrafdan iborat bo‘lib, unda quyidagilar keltirilgan: ___________________________________________________________
    ________________________________________________________________________________________________________________________________________
    ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
    Kamchiliklar:
    ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
    _______ - guruh talabasi __________________________________________ ning kurs ishini _____ bahoga tavsiya etaman.
    ____________________________________
    kafedrasi __________________________________________________________
    (lavozimi) (imzo) (Familiyasi, Ismi)
    Download 266,14 Kb.
    1   2   3   4




    Download 266,14 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mobil ilovalarni yaratish texnologiyalari

    Download 266,14 Kb.