다른 프로젝트에서 활동을 시작하는 방법

S. Koshelnyk

나는 안드로이드와 윈도우 폰용 날씨 애플리케이션에서 일하고있다. 그래서 "Parsing Class"의 "Weather.Api (Portable)"에 다른 프로젝트에서 공통 코드를 작성합니다. "Weather.Droid"는 Android에 사용됩니다.영상

ParsingClass의 코드는 다음과 같습니다.

    public static string tempGlobal;
    public static string cityTextGlobal;
    private static string GovnoTemperature;

    public async  Task<string> dataByCity(string city)
    {
        var url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&units=metric&APPID="+AppID;

        //ТОРМОЗИТ ЗДЕСЬ / BRAKES HERE
        await FetchAsync(url);
        return city;
    }

    public async Task<double> Data_down(double lat, double lon)
    {

        var url = String.Format(
          "http://api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&units=metric&APPID=" + AppID);

        //ТОРМОЗИТ ЗДЕСЬ / BRAKES HERE
        await FetchAsync(url);

        return lat;
    }

    public async Task<string> FetchAsync(string url)
    {
        string jsonString;

        using (var httpClient = new System.Net.Http.HttpClient())
        {
            var stream = await httpClient.GetStreamAsync(url);
            StreamReader reader = new StreamReader(stream);
            jsonString = reader.ReadToEnd();
        }

        var json = jsonString;

        JsonValue firstitem = json;
        var mydata = JObject.Parse(json);

        cityTextGlobal = (mydata["name"]).ToString();

        string GovnoData = (mydata["main"]).ToString();

        //spliting string
        string[] values = GovnoData.Split(',');
        for (int i = 0; i < values.Length; i++)
        {
            values[i] = values[i].Trim();
            if (i == 0)
            {
                //tempGlobal = values[i];
                GovnoTemperature = values[i];
            }
        }
        tempGlobal = null;
        foreach (char c in GovnoTemperature)
        {
            if (c == '.')
            {
                break;
            }
            if (c == '-' || char.IsDigit(c) == true || c == '.')
            {
                tempGlobal += c.ToString();
            }
        }

        return jsonString;
    }
}

public class Coord
{
    public double lon { get; set; }
    public double lat { get; set; }
}

public class Weather
{
    public int id { get; set; }
    public string main { get; set; }
    public string description { get; set; }
    public string icon { get; set; }
}

public class Main
{
    public double temp { get; set; }
    public int pressure { get; set; }
    public int humidity { get; set; }
    public int temp_min { get; set; }
    public int temp_max { get; set; }
}

public class Wind
{
    public double speed { get; set; }
    public double deg { get; set; }
}

public class Clouds
{
    public int all { get; set; }
}

public class Sys
{
    public int type { get; set; }
    public int id { get; set; }
    public double message { get; set; }
    public string country { get; set; }
    public int sunrise { get; set; }
    public int sunset { get; set; }
}

public class RootObject
{
    public Coord coord { get; set; }
    public List<Weather> weather { get; set; }
    public string @base { get; set; }
    public Main main { get; set; }
    public int visibility { get; set; }
    public Wind wind { get; set; }
    public Clouds clouds { get; set; }
    public int dt { get; set; }
    public Sys sys { get; set; }
    public int id { get; set; }
    public string name { get; set; }
    public int cod { get; set; }
}

}

메서드에서 "Weather.Droid"의 MainActivity를 시작해야합니다.

공용 비동기 작업 FetchAsync (string url)

반환하기 전에 :

jsonString

어떻게 할 수 있습니까?

Elvis Xia-MSFT

메서드에서 "Weather.Droid"의 MainActivity를 시작해야합니다.

공용 비동기 작업 FetchAsync (string url)

Droid 프로젝트에서 직접 MainActivity를 시작할 수 없습니다. 그러나 @SKall이 말했듯이 방법 Action<Intent>에서 사용할 수 있습니다 FetchAsync.

//add Action<Intent> as and Intent as parameters
public async Task<string> FetchAsync(string url,Action<Intent> navigationFunc,Intent intent)
{
    string jsonString;
    ...
    navigationFunc(intent);//Invoke the action
    return jsonString;
}

그런 다음 Droid 프로젝트에서 사용하십시오.

ParsingClass parsing = new ParsingClass();
Intent intent = new Intent(this, typeof(MainActivity));
await parsing.FetchAsync("url", StartActivity, intent);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 프로젝트에서 #define 지시문을 제어하는 방법 ...?

분류에서Dev

pyiron에서 일부 작업을 다른 프로젝트로 이동하는 방법은 무엇입니까?

분류에서Dev

Azure DevOps에서 Wiki를 다른 프로젝트로 이동하는 방법

분류에서Dev

한 Eclipse 프로젝트에서 다른 프로젝트로 파일을 가져 오는 방법

분류에서Dev

Eclipse에서 한 프로젝트의 모든 종속성을 다른 프로젝트에 붙여 넣는 방법

분류에서Dev

다른 프로젝트 WPF에서 Enum을 참조하는 방법

분류에서Dev

다른 활동에서 런처 활동을 시작하는 방법은 무엇입니까?

분류에서Dev

다른 활동에서 활동 조각을 시작하는 방법은 무엇입니까?

분류에서Dev

다른 활동에 팝업 창을 표시하는 방법

분류에서Dev

다른 활동의 값을 다른 활동으로 전달하는 방법

분류에서Dev

다른 스택에 속한 다른 활동을 시작할 때 현재 활동 스택을 지우는 방법

분류에서Dev

한 활동을 다른 활동으로 닫는 방법

분류에서Dev

Android 매니페스트에서 다른 화면 크기에 대한 시작 활동을 설정하는 방법

분류에서Dev

인 텐트의 데이터에 따라 Android에서 다른 활동을 시작하는 방법

분류에서Dev

다른 계정을 사용하여 github에서 동일한 프로젝트를 개발하는 방법

분류에서Dev

WebView가로드 된 후 Android에서 다른 활동을 시작하는 방법은 무엇입니까?

분류에서Dev

동일한 프로젝트에서 여러 다른 항목을 실행하는 방법은 무엇입니까?

분류에서Dev

새로운 간단한 경로를 추가하는 것은 Laravel 프로젝트에서 작동하지 않습니다. 404 찾을 수 없음. laravel 프로젝트를 다시 시작, 재설정 또는 다시 빌드하는 방법이 있습니까?

분류에서Dev

다중 플랫폼 다중 프로젝트 Kotlin 빌드에서 다른 프로젝트의 테스트에 종속성을 추가하는 방법

분류에서Dev

내 laravel 8 프로젝트에서 다른 집계 함수 방법이 작동하지 않습니다.

분류에서Dev

활동을 다른 활동으로 리디렉션하는 동적 방법-Android?

분류에서Dev

다른 활동에서 조각을 새로 고치는 방법

분류에서Dev

다른 활동에서 활동의 TCP 연결을 사용하는 방법

분류에서Dev

Visual Studio에서 git으로 프로젝트를 다른 폴더로 이동하는 방법

분류에서Dev

iOS에서 한 프로젝트 스토리 보드에서 다른 프로젝트 스토리 보드로 이동하는 방법

분류에서Dev

Android- 업로드 작업이 다른 활동에서 완료 될 때까지 한 활동에서 진행률 표시 줄을 표시하는 방법

분류에서Dev

프래그먼트 버튼에서 다른 활동으로 값을 전달하는 방법

분류에서Dev

다른 모듈에서 활동을 호출하는 방법

분류에서Dev

다른 활동에서 조각을 호출하는 방법

Related 관련 기사

  1. 1

    다른 프로젝트에서 #define 지시문을 제어하는 방법 ...?

  2. 2

    pyiron에서 일부 작업을 다른 프로젝트로 이동하는 방법은 무엇입니까?

  3. 3

    Azure DevOps에서 Wiki를 다른 프로젝트로 이동하는 방법

  4. 4

    한 Eclipse 프로젝트에서 다른 프로젝트로 파일을 가져 오는 방법

  5. 5

    Eclipse에서 한 프로젝트의 모든 종속성을 다른 프로젝트에 붙여 넣는 방법

  6. 6

    다른 프로젝트 WPF에서 Enum을 참조하는 방법

  7. 7

    다른 활동에서 런처 활동을 시작하는 방법은 무엇입니까?

  8. 8

    다른 활동에서 활동 조각을 시작하는 방법은 무엇입니까?

  9. 9

    다른 활동에 팝업 창을 표시하는 방법

  10. 10

    다른 활동의 값을 다른 활동으로 전달하는 방법

  11. 11

    다른 스택에 속한 다른 활동을 시작할 때 현재 활동 스택을 지우는 방법

  12. 12

    한 활동을 다른 활동으로 닫는 방법

  13. 13

    Android 매니페스트에서 다른 화면 크기에 대한 시작 활동을 설정하는 방법

  14. 14

    인 텐트의 데이터에 따라 Android에서 다른 활동을 시작하는 방법

  15. 15

    다른 계정을 사용하여 github에서 동일한 프로젝트를 개발하는 방법

  16. 16

    WebView가로드 된 후 Android에서 다른 활동을 시작하는 방법은 무엇입니까?

  17. 17

    동일한 프로젝트에서 여러 다른 항목을 실행하는 방법은 무엇입니까?

  18. 18

    새로운 간단한 경로를 추가하는 것은 Laravel 프로젝트에서 작동하지 않습니다. 404 찾을 수 없음. laravel 프로젝트를 다시 시작, 재설정 또는 다시 빌드하는 방법이 있습니까?

  19. 19

    다중 플랫폼 다중 프로젝트 Kotlin 빌드에서 다른 프로젝트의 테스트에 종속성을 추가하는 방법

  20. 20

    내 laravel 8 프로젝트에서 다른 집계 함수 방법이 작동하지 않습니다.

  21. 21

    활동을 다른 활동으로 리디렉션하는 동적 방법-Android?

  22. 22

    다른 활동에서 조각을 새로 고치는 방법

  23. 23

    다른 활동에서 활동의 TCP 연결을 사용하는 방법

  24. 24

    Visual Studio에서 git으로 프로젝트를 다른 폴더로 이동하는 방법

  25. 25

    iOS에서 한 프로젝트 스토리 보드에서 다른 프로젝트 스토리 보드로 이동하는 방법

  26. 26

    Android- 업로드 작업이 다른 활동에서 완료 될 때까지 한 활동에서 진행률 표시 줄을 표시하는 방법

  27. 27

    프래그먼트 버튼에서 다른 활동으로 값을 전달하는 방법

  28. 28

    다른 모듈에서 활동을 호출하는 방법

  29. 29

    다른 활동에서 조각을 호출하는 방법

뜨겁다태그

보관